Some tests on DevicePropagationService
This commit is contained in:
parent
5c90428fca
commit
ae10998c98
2 changed files with 40 additions and 1 deletions
|
@ -138,7 +138,7 @@ public class DevicePropagationService {
|
|||
* @param username the username of the owner of that device
|
||||
* @param causedByTrigger if true, send the update to the owner as well
|
||||
*/
|
||||
private void propagateUpdateAsOwner(Device device, String username, boolean causedByTrigger) {
|
||||
void propagateUpdateAsOwner(Device device, String username, boolean causedByTrigger) {
|
||||
final User user = userRepository.findByUsername(username);
|
||||
final Set<User> guests = user.getGuests();
|
||||
// make sure we're broadcasting from host
|
||||
|
|
|
@ -87,4 +87,43 @@ public class DevicePropagationServiceTests {
|
|||
|
||||
assertThat(done[0]).isEqualTo(2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRenameIfDuplicate() {
|
||||
when(deviceRepository.findDuplicates("Device", "user")).thenReturn(2);
|
||||
when(deviceRepository.findDuplicates("Device (new)", "user")).thenReturn(1);
|
||||
when(deviceRepository.findDuplicates("New Device", "user")).thenReturn(1);
|
||||
when(deviceRepository.findDuplicates("New Device (new)", "user")).thenReturn(0);
|
||||
|
||||
Device d = new RegularLight();
|
||||
d.setName("Device");
|
||||
d.setId(42L);
|
||||
|
||||
devicePropagationService.renameIfDuplicate(d, "user");
|
||||
|
||||
assertThat(d.getName()).isEqualTo("Device (new)");
|
||||
|
||||
d.setName("New Device");
|
||||
d.setId(0L);
|
||||
|
||||
devicePropagationService.renameIfDuplicate(d, "user");
|
||||
|
||||
assertThat(d.getName()).isEqualTo("New Device (new)");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSaveAllAsOwner() {
|
||||
final DevicePropagationService dps = Mockito.spy(devicePropagationService);
|
||||
final Device d = new RegularLight();
|
||||
final List<Device> dl = List.of(d);
|
||||
doNothing().when(dps).renameIfDuplicate(d, "user");
|
||||
when(deviceRepository.saveAll(dl)).thenReturn(dl);
|
||||
doNothing().when(dps).propagateUpdateAsOwner(d, "user", false);
|
||||
doNothing().when(dps).propagateUpdateAsOwner(d, "user", true);
|
||||
|
||||
assertThat(dps.saveAllAsOwner(dl, "user")).containsExactly(d);
|
||||
assertThat(dps.saveAllAsOwner(dl, "user", true, true)).containsExactly(d);
|
||||
assertThat(dps.saveAllAsOwner(dl, "user", true, false)).containsExactly(d);
|
||||
assertThat(dps.saveAllAsOwner(dl, "user", false, true)).containsExactly(d);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue