View Javadoc
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  }