You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/10/06 17:45:45 UTC
[isis-app-demo] 17/19: adds happy case for Pet#bookVisit integ test
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/isis-app-demo.git
commit 7f32eacc7fa1ec2c42265db9e4aabf9950939a2a
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Oct 6 18:22:49 2021 +0100
adds happy case for Pet#bookVisit integ test
---
.../integtest/tests/Pet_bookVisit_IntegTest.java | 60 ++++++++++++++++++++++
1 file changed, 60 insertions(+)
diff --git a/module-visits/src/test/java/petclinic/modules/visits/integtest/tests/Pet_bookVisit_IntegTest.java b/module-visits/src/test/java/petclinic/modules/visits/integtest/tests/Pet_bookVisit_IntegTest.java
new file mode 100644
index 0000000..72d2b3f
--- /dev/null
+++ b/module-visits/src/test/java/petclinic/modules/visits/integtest/tests/Pet_bookVisit_IntegTest.java
@@ -0,0 +1,60 @@
+package petclinic.modules.visits.integtest.tests;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.apache.isis.applib.services.clock.ClockService;
+import org.apache.isis.testing.fakedata.applib.services.FakeDataService;
+
+import petclinic.modules.pets.dom.pet.Pet;
+import petclinic.modules.pets.fixture.pet.Pet_persona;
+import petclinic.modules.visits.contributions.pet.Pet_bookVisit;
+import petclinic.modules.visits.dom.visit.Visit;
+import petclinic.modules.visits.dom.visit.VisitRepository;
+import petclinic.modules.visits.integtest.VisitsModuleIntegTestAbstract;
+
+public class Pet_bookVisit_IntegTest extends VisitsModuleIntegTestAbstract {
+
+ @BeforeEach
+ void setup() {
+ fixtureScripts.run(new Pet_persona.PersistAll());
+ }
+
+ @Test
+ public void happy_case() {
+
+ // given
+ Pet somePet = fakeDataService.enums().anyOf(Pet_persona.class)
+ .findUsing(serviceRegistry);
+ List<Visit> before = visitRepository.findByPetOrderByVisitAtDesc(somePet);
+
+ // when
+ LocalDateTime visitAt = clockService.getClock().nowAsLocalDateTime()
+ .plusDays(fakeDataService.ints().between(1, 3));
+ String reason = fakeDataService.strings().upper(40);
+
+ wrapMixin(Pet_bookVisit.class, somePet).act(visitAt, reason);
+
+ // then
+ List<Visit> after = visitRepository.findByPetOrderByVisitAtDesc(somePet);
+ after.removeAll(before);
+ assertThat(after).hasSize(1);
+ Visit visit = after.get(0);
+
+ assertThat(visit.getPet()).isSameAs(somePet);
+ assertThat(visit.getVisitAt()).isEqualTo(visitAt);
+ assertThat(visit.getReason()).isEqualTo(reason);
+ }
+
+ @Inject FakeDataService fakeDataService;
+ @Inject VisitRepository visitRepository;
+ @Inject ClockService clockService;
+
+}