From da4c91fd72350ec68944b2828b90f2e1ca2c9517 Mon Sep 17 00:00:00 2001 From: Miquel de Domingo Date: Wed, 30 Nov 2022 15:53:07 +0100 Subject: [PATCH 1/2] feat: add `getTeamsFromOrganization` use case --- .../service/GetTeamsFromOrganization.java | 18 +++++++++++++ .../service/GetTeamsFromOrganizationTest.java | 26 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 src/main/java/io/pakland/mdas/githubstats/domain/service/GetTeamsFromOrganization.java create mode 100644 src/test/java/io/pakland/mdas/githubstats/domain/service/GetTeamsFromOrganizationTest.java diff --git a/src/main/java/io/pakland/mdas/githubstats/domain/service/GetTeamsFromOrganization.java b/src/main/java/io/pakland/mdas/githubstats/domain/service/GetTeamsFromOrganization.java new file mode 100644 index 00000000..45c09b41 --- /dev/null +++ b/src/main/java/io/pakland/mdas/githubstats/domain/service/GetTeamsFromOrganization.java @@ -0,0 +1,18 @@ +package io.pakland.mdas.githubstats.domain.service; + +import io.pakland.mdas.githubstats.domain.model.Organization; +import io.pakland.mdas.githubstats.domain.model.Team; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Service +public class GetTeamsFromOrganization { + public GetTeamsFromOrganization() { } + + @Transactional + public List execute(Organization org) { + return org.getTeams(); + } +} diff --git a/src/test/java/io/pakland/mdas/githubstats/domain/service/GetTeamsFromOrganizationTest.java b/src/test/java/io/pakland/mdas/githubstats/domain/service/GetTeamsFromOrganizationTest.java new file mode 100644 index 00000000..8cf54145 --- /dev/null +++ b/src/test/java/io/pakland/mdas/githubstats/domain/service/GetTeamsFromOrganizationTest.java @@ -0,0 +1,26 @@ +package io.pakland.mdas.githubstats.domain.service; + +import io.pakland.mdas.githubstats.domain.model.Organization; +import io.pakland.mdas.githubstats.domain.model.Team; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class GetTeamsFromOrganizationTest { + @Test + public void givenOrganization_shouldReturnListOfTeams() { + Team t = new Team(); + t.setId(1L); + Organization mockOrg = Mockito.mock(Organization.class); + Mockito.when(mockOrg.getTeams()).thenReturn(List.of(t)); + + GetTeamsFromOrganization useCase = new GetTeamsFromOrganization(); + List teams = useCase.execute(mockOrg); + + Mockito.verify(mockOrg, Mockito.times(1)).getTeams(); + assertEquals(teams.get(0).getId(), t.getId()); + } +} From fa9a574de28a84856651f89a2cc0b2af00d18114 Mon Sep 17 00:00:00 2001 From: Miquel de Domingo Date: Wed, 30 Nov 2022 18:18:14 +0100 Subject: [PATCH 2/2] refactor: rename variables --- .../service/GetTeamsFromOrganizationTest.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/test/java/io/pakland/mdas/githubstats/domain/service/GetTeamsFromOrganizationTest.java b/src/test/java/io/pakland/mdas/githubstats/domain/service/GetTeamsFromOrganizationTest.java index 8cf54145..63da3484 100644 --- a/src/test/java/io/pakland/mdas/githubstats/domain/service/GetTeamsFromOrganizationTest.java +++ b/src/test/java/io/pakland/mdas/githubstats/domain/service/GetTeamsFromOrganizationTest.java @@ -12,15 +12,15 @@ public class GetTeamsFromOrganizationTest { @Test public void givenOrganization_shouldReturnListOfTeams() { - Team t = new Team(); - t.setId(1L); - Organization mockOrg = Mockito.mock(Organization.class); - Mockito.when(mockOrg.getTeams()).thenReturn(List.of(t)); + Team team = new Team(); + team.setId(1L); + Organization organizationMock = Mockito.mock(Organization.class); + Mockito.when(organizationMock.getTeams()).thenReturn(List.of(team)); GetTeamsFromOrganization useCase = new GetTeamsFromOrganization(); - List teams = useCase.execute(mockOrg); + List teams = useCase.execute(organizationMock); - Mockito.verify(mockOrg, Mockito.times(1)).getTeams(); - assertEquals(teams.get(0).getId(), t.getId()); + Mockito.verify(organizationMock, Mockito.times(1)).getTeams(); + assertEquals(teams.get(0).getId(), team.getId()); } }