From 7aee62263b655ea5d8a71be63cbcd33f405018a9 Mon Sep 17 00:00:00 2001 From: iilumme Date: Wed, 4 May 2016 00:00:11 +0300 Subject: [PATCH] few tests --- .../ohtuhatut/domain/ReferenceListTest.java | 16 +++ .../service/ReferenceFormatServiceTest.java | 1 + .../service/ReferenceListServiceTest.java | 109 ++++++++++++++++++ .../service/ReferenceServiceTest.java | 29 ++++- 4 files changed, 152 insertions(+), 3 deletions(-) create mode 100644 src/test/java/ohtuhatut/service/ReferenceListServiceTest.java diff --git a/src/test/java/ohtuhatut/domain/ReferenceListTest.java b/src/test/java/ohtuhatut/domain/ReferenceListTest.java index 0f8230c..6d2acbe 100644 --- a/src/test/java/ohtuhatut/domain/ReferenceListTest.java +++ b/src/test/java/ohtuhatut/domain/ReferenceListTest.java @@ -33,4 +33,20 @@ public void gettingAndSettingReferencesWorks() { assertTrue(list.getReferences().size() == 1); } + + @Test + public void removeReferenceMethodWorks() { + + ReferenceList list = new ReferenceList(); + List references = new ArrayList<>(); + + BookletReference br = new BookletReference(); + br.setTitle("test"); + references.add(br); + list.setReferences(references); + assertTrue(list.getReferences().size() == 1); + + list.removeReference(br); + assertTrue(list.getReferences().size() == 0); + } } diff --git a/src/test/java/ohtuhatut/service/ReferenceFormatServiceTest.java b/src/test/java/ohtuhatut/service/ReferenceFormatServiceTest.java index 637a207..4ad8602 100644 --- a/src/test/java/ohtuhatut/service/ReferenceFormatServiceTest.java +++ b/src/test/java/ohtuhatut/service/ReferenceFormatServiceTest.java @@ -66,6 +66,7 @@ public void swedishAIsFormatterProperly() { ref.setKey("key1"); ref.setTitle("tÅtå"); + ref.setYear(1999); references.add(ref); assertTrue(referenceFormatService.formatReferencesToBibTeX(references).contains("t{\\AA}t{\\aa}")); diff --git a/src/test/java/ohtuhatut/service/ReferenceListServiceTest.java b/src/test/java/ohtuhatut/service/ReferenceListServiceTest.java new file mode 100644 index 0000000..c50ece2 --- /dev/null +++ b/src/test/java/ohtuhatut/service/ReferenceListServiceTest.java @@ -0,0 +1,109 @@ +package ohtuhatut.service; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +import ohtuhatut.Main; +import ohtuhatut.domain.BookletReference; +import ohtuhatut.domain.Reference; +import ohtuhatut.domain.ReferenceList; +import org.hibernate.Hibernate; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.transaction.annotation.Transactional; + + +@RunWith(SpringJUnit4ClassRunner.class) +@SpringApplicationConfiguration(classes = Main.class) +public class ReferenceListServiceTest { + + @Autowired + private ReferenceListService referenceListService; + + @Autowired + private ReferenceService referenceService; + + public ReferenceListServiceTest() { + } + + @Transactional + @Test + public void removeReferenceMethodWorksCorrectly() { + ReferenceList list = new ReferenceList(); + list.setName("test"); + referenceListService.save(list); + + BookletReference br = new BookletReference(); + br.setKey("key"); + br.setTitle("title"); + referenceService.saveReference(br); + list.getReferences().add(br); + + BookletReference br2 = new BookletReference(); + br2.setKey("key2"); + br2.setTitle("title2"); + referenceService.saveReference(br2); + list.getReferences().add(br2); + + BookletReference br3 = new BookletReference(); + br3.setKey("key3"); + br3.setTitle("title3"); + referenceService.saveReference(br3); + list.getReferences().add(br3); + + referenceListService.save(list); + assertTrue(list.getReferences().size() == 3); + + referenceListService.removeReference(br); + assertTrue(list.getReferences().size() == 2); + assertFalse(list.getReferences().contains(br)); + + referenceService.deleteReference(br); + referenceService.deleteReference(br2); + referenceService.deleteReference(br3); + + referenceListService.deleteReferenceList(list); + } + + @Transactional + @Test + public void removeReferenceMethodDoesNotRemoveOtherReferences() { + ReferenceList list = new ReferenceList(); + list.setName("test"); + referenceListService.save(list); + + BookletReference br = new BookletReference(); + br.setKey("key"); + br.setTitle("title"); + referenceService.saveReference(br); + list.getReferences().add(br); + + BookletReference br2 = new BookletReference(); + br2.setKey("key2"); + br2.setTitle("title2"); + referenceService.saveReference(br2); + list.getReferences().add(br2); + + BookletReference br3 = new BookletReference(); + br3.setKey("key3"); + br3.setTitle("title3"); + referenceService.saveReference(br3); + + referenceListService.save(list); + assertTrue(list.getReferences().size() == 2); + + referenceListService.removeReference(br3); + assertTrue(list.getReferences().size() == 2); + + referenceService.deleteReference(br); + referenceService.deleteReference(br2); + referenceService.deleteReference(br3); + + referenceListService.deleteReferenceList(list); + } +} \ No newline at end of file diff --git a/src/test/java/ohtuhatut/service/ReferenceServiceTest.java b/src/test/java/ohtuhatut/service/ReferenceServiceTest.java index 035be52..67e5785 100644 --- a/src/test/java/ohtuhatut/service/ReferenceServiceTest.java +++ b/src/test/java/ohtuhatut/service/ReferenceServiceTest.java @@ -15,7 +15,10 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; + +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.SpringApplicationConfiguration; @@ -282,15 +285,35 @@ public void whenKeyIsInUseBySomeOtherReferenceTheErrorMessageIsReturned() { assertEquals("That key is in use on another reference, please use another key", referenceService.keyIsInUseOnSomeOtherReferenceErrorMessage(ref2)); } - + @Test public void whenKeyIsNotInUseByAnyOtherReferenceNullIsReturned() { Reference ref = new Reference(); ref.setKey("key9"); - + referenceService.saveReference(ref); - + assertNull(referenceService.keyIsInUseOnSomeOtherReferenceErrorMessage(ref)); } + + @Test + public void bindReferenceReturnsNullWhenTypeIsNotKnown() { + Reference ref = new Reference(); + ref.setType("test"); + + Reference reference = referenceService.bindReference(ref); + assertNull(reference); + } + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void bindReferenceCausesNullPointerExceptionIfThereIsNoType() { + Reference ref = new Reference(); + thrown.expect(NullPointerException.class); + Reference reference = referenceService.bindReference(ref); + } + }