added AutomationServiceTests
This commit is contained in:
parent
a4ca37e6ec
commit
82900b1d02
1 changed files with 74 additions and 0 deletions
|
@ -0,0 +1,74 @@
|
|||
package ch.usi.inf.sa4.sanmarinoes.smarthut.service;
|
||||
|
||||
import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import ch.usi.inf.sa4.sanmarinoes.smarthut.models.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Optional;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import org.springframework.security.test.context.support.WithMockUser;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
@WithMockUser(username = "user")
|
||||
@DisplayName("SwitchableState controller test")
|
||||
public class AutomationServiceTests {
|
||||
@InjectMocks private AutomationService service;
|
||||
|
||||
@Mock private TriggerRepository repository;
|
||||
|
||||
@Mock private AutomationRepository automationRepository;
|
||||
|
||||
@Mock private ConditionRepository conditionRepository;
|
||||
|
||||
@Test
|
||||
public void testFindTriggerByDeviceId() {
|
||||
RangeTrigger trigger1 = new RangeTrigger();
|
||||
RangeTrigger trigger2 = new RangeTrigger();
|
||||
RangeTrigger trigger3 = new RangeTrigger();
|
||||
trigger1.setDeviceId(0L);
|
||||
trigger2.setDeviceId(0L);
|
||||
trigger3.setDeviceId(1L);
|
||||
ArrayList<Trigger> list = new ArrayList<>();
|
||||
list.add(trigger1);
|
||||
list.add(trigger1);
|
||||
ArrayList<Trigger<?>> toPut = new ArrayList<>();
|
||||
when(repository.findAllByDeviceId(0L)).thenReturn(list);
|
||||
service.findTriggersByDeviceId(0L, toPut);
|
||||
assertThat(toPut.contains(trigger1));
|
||||
assertThat(toPut.contains(trigger2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFindByVerifiedId() {
|
||||
Automation automation = new Automation();
|
||||
automation.setId(0L);
|
||||
when(automationRepository.findById(eq(0L))).thenReturn(Optional.of(automation));
|
||||
Automation returned = service.findByVerifiedId(0L);
|
||||
assertThat(returned).isSameAs(automation);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFindAllConditionByAutomationId() {
|
||||
RangeCondition condition1 = new RangeCondition();
|
||||
RangeCondition condition2 = new RangeCondition();
|
||||
RangeCondition condition3 = new RangeCondition();
|
||||
condition1.setAutomationId(1L);
|
||||
condition2.setAutomationId(0L);
|
||||
condition3.setAutomationId(0L);
|
||||
ArrayList<Condition> list = new ArrayList<>();
|
||||
list.add(condition2);
|
||||
list.add(condition3);
|
||||
ArrayList<Condition<?>> toPut = new ArrayList<>();
|
||||
when(conditionRepository.findAllByAutomationId(0L)).thenReturn(list);
|
||||
service.findAllConditionsByAutomationId(0L, toPut);
|
||||
assertThat(toPut).contains(condition2);
|
||||
assertThat(toPut).contains(condition3);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue