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/causeway-app-petclinic.git
commit 230b6a74b85d30cb30269bc3f318875d315ccc76 Author: Dan Haywood <[email protected]> AuthorDate: Sun May 26 22:16:20 2024 +0100 adds unit test for PetOwner_bookVisit ... defaulting of param #1 --- .../contributions/PetOwner_bookVisit_Test.java | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/module-visit/src/test/java/domainapp/modules/visit/contributions/PetOwner_bookVisit_Test.java b/module-visit/src/test/java/domainapp/modules/visit/contributions/PetOwner_bookVisit_Test.java new file mode 100644 index 0000000..3f69da9 --- /dev/null +++ b/module-visit/src/test/java/domainapp/modules/visit/contributions/PetOwner_bookVisit_Test.java @@ -0,0 +1,51 @@ +package domainapp.modules.visit.contributions; + +import java.time.LocalDateTime; + +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.jupiter.MockitoExtension; + +import org.apache.causeway.applib.clock.VirtualClock; +import org.apache.causeway.applib.services.clock.ClockService; + +@ExtendWith(MockitoExtension.class) +public class PetOwner_bookVisit_Test { + + @Mock ClockService mockClockService; + @Mock VirtualClock mockVirtualClock; + + @BeforeEach + void setup() { + Mockito.when(mockClockService.getClock()).thenReturn(mockVirtualClock); // <.> + } + + @Nested + class default1 { + + @Test + void defaults_to_9am_tomorrow_morning() { + + // given + PetOwner_bookVisit mixin = new PetOwner_bookVisit(null); + mixin.clockService = mockClockService; + + LocalDateTime now = LocalDateTime.of(2024, 5, 26, 16, 37, 45); + + // expecting + Mockito.when(mockVirtualClock.nowAsLocalDate()).thenReturn(now.toLocalDate()); + + // when + LocalDateTime localDateTime = mixin.default1Act(); + + // then + Assertions.assertThat(localDateTime) + .isEqualTo(LocalDateTime.of(2024,5,27,9,0,0)); + } + } +}
