1 package io.github.magwas.inez.storage.tests;
2
3 import static org.mockito.Mockito.verify;
4
5 import java.util.stream.IntStream;
6
7 import org.junit.jupiter.api.DisplayName;
8 import org.junit.jupiter.api.Test;
9 import org.mockito.InjectMocks;
10
11 import io.github.magwas.inez.storage.RemoveReferencesService;
12 import io.github.magwas.inez.storage.repository.BridiReferenceRepository;
13 import io.github.magwas.inez.tests.BridiTestData;
14 import io.github.magwas.konveyor.testing.TestBase;
15 import io.github.magwas.konveyor.testing.TestUtil;
16
17 class RemoveReferencesTest extends TestBase implements BridiTestData {
18
19 @InjectMocks
20 RemoveReferencesService removeReferences;
21
22 @Test
23 @DisplayName("removes references from the BridiReferenceRepository\n"
24 + "- removes all the sumti references for the bridi")
25 void test() throws IllegalAccessException {
26 removeReferences.apply(SUMTI_IS_A_THING_ID, SUMTI_IS_A_THING_REFERENCES);
27 BridiReferenceRepository bridiReferenceRepository =
28 TestUtil.dependency(removeReferences, BridiReferenceRepository.class);
29 IntStream.range(0, SUMTI_IS_A_THING_REFERENCES.size() - 1).forEach(position -> verify(bridiReferenceRepository)
30 .deleteBybridiIdAndPositionAndSumtiId(
31 SUMTI_IS_A_THING_ID, position, SUMTI_IS_A_THING_REFERENCES.get(position)));
32 }
33 }