From 7cda976942e4082b7371b802e23bb4a4bd1629a9 Mon Sep 17 00:00:00 2001 From: Miguel Reboiro-Jato Date: Wed, 5 Oct 2016 14:25:00 +0200 Subject: [PATCH] Completes some tests for better coverage Some test of the service and rest projects have been updated for better coverage, achieving a 100% coverage in most of them. --- .../uvigo/esei/xcs/rest/OwnerResourceRestTest.java | 2 +- .../uvigo/esei/xcs/rest/OwnerResourceUnitTest.java | 14 ++++++++++++++ .../xcs/service/OwnerServiceIntegrationTest.java | 6 ++++++ .../xcs/service/PetServiceIntegrationTest.java | 14 ++++++++++++-- 4 files changed, 33 insertions(+), 3 deletions(-) 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 9ca0d3a..db7a4b0 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 d8f00f5..baa5c4a 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 767f8db..d62aeae 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 4a9a235..3d7c94b 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)); -- 2.18.1