diff --git a/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceRestTest.java b/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceRestTest.java index 9ca0d3abb800df34f9ca806de7c4ab5a87c74137..db7a4b0a364c38494023b1c2680afc71134fa059 100644 --- a/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceRestTest.java +++ b/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceRestTest.java @@ -188,6 +188,7 @@ public class OwnerResourceRestTest { @CleanupUsingScript({ "cleanup.sql", "cleanup-autoincrement.sql" }) public void afterCreateWithPets() {} + private void testCreateOwner(WebTarget webTarget, Owner newOwner) { testCreateOwner(webTarget, newOwner, newOwner); } @@ -203,7 +204,6 @@ public class OwnerResourceRestTest { final Owner owner = responseGet.readEntity(Owner.class); assertThat(owner, is(equalsToOwner(persistentOwner))); } - @Test @InSequence(30) diff --git a/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceUnitTest.java b/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceUnitTest.java index d8f00f5061b2b811e18b58eed006b6b4332ed68b..baa5c4a82ec2efc3fba71852c738ae41cde93224 100644 --- a/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceUnitTest.java +++ b/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceUnitTest.java @@ -4,6 +4,7 @@ import static es.uvigo.esei.xcs.domain.entities.IsEqualsToOwner.containsOwnersIn import static es.uvigo.esei.xcs.domain.entities.IsEqualsToOwner.equalsToOwner; import static es.uvigo.esei.xcs.domain.entities.OwnersDataset.anyLogin; import static es.uvigo.esei.xcs.domain.entities.OwnersDataset.anyOwner; +import static es.uvigo.esei.xcs.domain.entities.OwnersDataset.existentOwner; import static es.uvigo.esei.xcs.domain.entities.OwnersDataset.newOwnerWithFreshPets; import static es.uvigo.esei.xcs.domain.entities.OwnersDataset.newOwnerWithPersistentPets; import static es.uvigo.esei.xcs.domain.entities.OwnersDataset.owners; @@ -23,6 +24,7 @@ import static org.junit.Assert.assertThat; import java.net.URI; import java.util.List; +import javax.persistence.EntityExistsException; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriBuilder; import javax.ws.rs.core.UriInfo; @@ -157,6 +159,18 @@ public class OwnerResourceUnitTest extends EasyMockSupport { resource.create(null); } + @Test(expected = IllegalArgumentException.class) + public void testCreateExistentOwner() { + final Owner existentOwner = existentOwner(); + + expect(facade.create(existentOwner)) + .andThrow(new EntityExistsException()); + + replayAll(); + + resource.create(existentOwner); + } + @Test public void testUpdate() { final Owner owner = anyOwner(); diff --git a/service/src/test/java/es/uvigo/esei/xcs/service/OwnerServiceIntegrationTest.java b/service/src/test/java/es/uvigo/esei/xcs/service/OwnerServiceIntegrationTest.java index 767f8db60059986feb86237fd1582d7d755b71d6..d62aeaeb668061b9e766f6989c96a4dc89d33524 100644 --- a/service/src/test/java/es/uvigo/esei/xcs/service/OwnerServiceIntegrationTest.java +++ b/service/src/test/java/es/uvigo/esei/xcs/service/OwnerServiceIntegrationTest.java @@ -174,6 +174,12 @@ public class OwnerServiceIntegrationTest { asAdmin.call(() -> facade.create(null)); } + @Test(expected = EJBTransactionRolledbackException.class) + @ShouldMatchDataSet("owners.xml") + public void testUpdateNull() { + asAdmin.run(() -> facade.update(null)); + } + @Test @ShouldMatchDataSet("owners-update-password.xml") public void testUpdatePassword() { diff --git a/service/src/test/java/es/uvigo/esei/xcs/service/PetServiceIntegrationTest.java b/service/src/test/java/es/uvigo/esei/xcs/service/PetServiceIntegrationTest.java index 4a9a2357149a0e0b92d627424dc46971bdea5a28..3d7c94bf67dbd09b16baee7a1598d8cdc40f876c 100644 --- a/service/src/test/java/es/uvigo/esei/xcs/service/PetServiceIntegrationTest.java +++ b/service/src/test/java/es/uvigo/esei/xcs/service/PetServiceIntegrationTest.java @@ -132,14 +132,24 @@ public class PetServiceIntegrationTest { final Owner owner = ownerWithoutPets(); principal.setName(owner.getLogin()); - final Pet pet = newPet(); + final Pet pet = newPetWithOwner(owner); asOwner.call(() -> facade.create(pet)); } + + @Test + @ShouldMatchDataSet({ "owners.xml", "owners-create-pet.xml" }) + public void testCreateNullOwner() { + principal.setName(ownerWithoutPets().getLogin()); + + final Pet pet = newPet(); + + asOwner.run(() -> facade.create(pet)); + } @Test(expected = EJBTransactionRolledbackException.class) @ShouldMatchDataSet({ "owners.xml" }) - public void testCreateNull() { + public void testCreateNullPet() { principal.setName(ownerWithoutPets().getLogin()); asOwner.run(() -> facade.create(null));