From 1c62f41189f9e96de64ac2004a173e1853690be9 Mon Sep 17 00:00:00 2001 From: Filip Bugos <xbugos@fi.muni.cz> Date: Sun, 16 Apr 2023 20:32:33 +0200 Subject: [PATCH] feat: User service test 16/04/23 --- .../fi/pa165/core/user/UserServiceTest.java | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/core/src/test/java/cz/muni/fi/pa165/core/user/UserServiceTest.java b/core/src/test/java/cz/muni/fi/pa165/core/user/UserServiceTest.java index 78a712f..efc8ffd 100644 --- a/core/src/test/java/cz/muni/fi/pa165/core/user/UserServiceTest.java +++ b/core/src/test/java/cz/muni/fi/pa165/core/user/UserServiceTest.java @@ -2,15 +2,27 @@ package cz.muni.fi.pa165.core.user; import cz.muni.fi.pa165.core.company.Company; import cz.muni.fi.pa165.core.device.Device; +import cz.muni.fi.pa165.core.house.House; +import cz.muni.fi.pa165.core.house.HouseService; +import cz.muni.fi.pa165.core.metrics.Metrics; +import cz.muni.fi.pa165.core.metrics.MetricsService; +import cz.muni.fi.pa165.core.smartmeter.SmartMeter; +import cz.muni.fi.pa165.core.smartmeter.SmartMeterService; +import cz.muni.fi.pa165.core.user.roles.HouseRole; +import cz.muni.fi.pa165.core.user.roles.RoleService; +import cz.muni.fi.pa165.model.dto.role.enums.HouseRoleEnum; +import org.junit.Assert; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import java.time.LocalDateTime; import java.util.List; import java.util.Optional; @@ -25,6 +37,18 @@ public class UserServiceTest { @InjectMocks private UserService userService; + @Mock + private MetricsService metricsService; + + @Mock + private SmartMeterService smartMeterService; + + @Mock + private HouseService houseService; + + @Mock + private RoleService roleService; + @Mock private UserRepository userReposiroyMock; @@ -228,4 +252,59 @@ public class UserServiceTest { assertEquals(pageResult, result); } + + @Test + void shouldReturnUserMonthConsumption() { + User user = + User.builder() + .email("test@gmail.com") + .firstName("lol") + .lastName("lol") + .username("lol") + .password("lol") + .userType(UserType.ADMIN) + .build(); + user.setId("6a9f853d-59ef-4636-9c0b-bbac44bfd7f4"); + userService.create(user); + + House house = House.builder() + .address("lol") + .city("lol") + .state("lol") + .zipcode("lol") + .build(); + house.setId("b256ac78-dc47-11ed-afa1-0242ac120002"); + houseService.create(house); + + HouseRole role = HouseRole.builder() + .houseRole(HouseRoleEnum.Owner) + .house(house) + .build(); + role.setUser(user); + roleService.create(role); + + SmartMeter smartMeter = SmartMeter + .builder() + .house(house) + .build(); + smartMeterService.create(smartMeter); + + LocalDateTime date = LocalDateTime.of(2023, + 1,15,0,0,0,0); + + double consumptionSeed = 0; + Metrics metrics = Metrics.builder() + .consumptionKWH(consumptionSeed) + .timeStamp(date) + .smartMeter(smartMeter) + .build(); + metricsService.create(metrics); + + double consumption = userService.getConsumption(user.getId(), house.getId(), + LocalDateTime.of(2023, 1,1,0,0,0,0), + LocalDateTime.of(2023, 1,31,0,0,0,0)); + + assertEquals(consumptionSeed, consumption); + + } } -- GitLab