1 package io.github.magwas.inez.storage.tests;
2
3 import static org.mockito.Mockito.verify;
4 import static org.mockito.Mockito.verifyNoInteractions;
5
6 import org.junit.jupiter.api.DisplayName;
7 import org.junit.jupiter.api.Test;
8 import org.mockito.InjectMocks;
9
10 import io.github.magwas.inez.parse.tests.ReferenceTestData;
11 import io.github.magwas.inez.storage.AddReferencesService;
12 import io.github.magwas.inez.storage.model.tests.BridiReferenceTestData;
13 import io.github.magwas.inez.storage.repository.BridiReferenceRepository;
14 import io.github.magwas.konveyor.testing.TestBase;
15 import io.github.magwas.konveyor.testing.TestUtil;
16
17 class AddReferencesTest extends TestBase implements BridiReferenceTestData, ReferenceTestData {
18 @InjectMocks
19 AddReferencesService addReferences;
20
21 @Test
22 @DisplayName("adds all the references of the bridi to the repository")
23 void test() throws IllegalAccessException {
24 addReferences.apply(SUMTI_IS_A_THING_ID, SUMTI_IS_A_THING_REFERENCES);
25 BridiReferenceRepository dependency = TestUtil.dependency(addReferences, BridiReferenceRepository.class);
26 SUMTI_IS_A_THING_REFERENCELIST.forEach(x -> verify(dependency).save(x));
27 }
28
29 @Test
30 @DisplayName("if references is null, does nothing")
31 void test1() throws IllegalAccessException {
32 addReferences.apply(SUMTI_IS_A_THING_ID, null);
33 verifyNoInteractions(TestUtil.dependency(addReferences, BridiReferenceRepository.class));
34 }
35 }