1
2
3
4 package de.japrost.jabudget.service;
5
6 import java.util.Set;
7
8 import org.junit.Before;
9 import org.junit.Test;
10 import org.mockito.Mockito;
11
12 import de.japrost.jabudget.domain.account.Account;
13 import de.japrost.jabudget.domain.fixtures.account.AccountFixtures;
14 import de.japrost.jabudget.repository.AccountRepository;
15 import de.japrost.jabudget.serialization.DomainStore;
16 import de.japrost.jabudget.serialization.Serialization;
17
18
19
20
21 public class SerializationServiceTest {
22
23 private SerializationService cut;
24 private Serialization serialization;
25 private AccountRepository accountRepository;
26 private final AccountFixtures accountFixtures = new AccountFixtures();
27
28
29
30 @Before
31 public void setUp() {
32 serialization = Mockito.mock(Serialization.class);
33 accountRepository = Mockito.mock(AccountRepository.class);
34 cut = new SerializationService(serialization, accountRepository);
35 }
36
37
38
39
40 @Test
41 public void serializeDelegates() {
42
43 Mockito.when(accountRepository.findAll()).thenReturn(Set.of(accountFixtures.createDefault()));
44
45 cut.serialize();
46
47 Mockito.verify(serialization).serialize(Mockito.any());
48 }
49
50
51
52
53 @Test
54 public void deserializeDelegates() {
55
56
57 final DomainStore domainStore = new DomainStore();
58 final Set<Account> accounts = Set.of(accountFixtures.createDefault());
59 domainStore.setAccounts(accounts);
60 Mockito.when(serialization.deserialize()).thenReturn(domainStore);
61
62 cut.deserialize();
63
64 Mockito.verify(accountRepository).replaceAll(accounts);
65 }
66 }