Skip to content

Commit 011b688

Browse files
committed
Test implementation completed
1 parent 4884eed commit 011b688

2 files changed

Lines changed: 20 additions & 13 deletions

File tree

mongock-core/mongock-runner/spring/springboot/mongock-springboot/src/test/java/io/mongock/runner/springboot/config/MongockContextTest.java renamed to mongock-core/mongock-runner/spring/springboot/mongock-springboot/src/test/java/io/mongock/runner/springboot/config/MongockScanPackageTest.java

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import io.mongock.runner.springboot.MongockScanPackage;
44
import io.mongock.runner.springboot.RunnerSpringbootBuilder;
5+
import org.junit.jupiter.api.Assertions;
56
import org.junit.jupiter.api.Test;
67
import org.springframework.context.ApplicationContext;
78
import org.springframework.context.annotation.Configuration;
@@ -10,10 +11,10 @@
1011

1112
import static org.mockito.Mockito.*;
1213

13-
public class MongockContextTest {
14+
public class MongockScanPackageTest {
1415

1516
@Test
16-
void shouldAddPackagesToBuilder_whenMongockScanPackageAnnotationIsPresent() {
17+
void shouldAddPackagesToBuilder_whenMongockScanPackageAnnotationIsPresentAndProvidePackages() {
1718
// Arrange
1819
MongockContext context = new MongockContext();
1920
ApplicationContext springContext = mock(ApplicationContext.class);
@@ -27,31 +28,41 @@ void shouldAddPackagesToBuilder_whenMongockScanPackageAnnotationIsPresent() {
2728
class TestConfiguration {}
2829

2930
Map<String, Object> beans = new HashMap<>();
30-
beans.put("bean", new TestConfiguration());
31+
String expectedBeanName = "testConfigurationBean";
32+
beans.put(expectedBeanName, new TestConfiguration());
3133
when(springContext.getBeansWithAnnotation(MongockScanPackage.class)).thenReturn(beans);
34+
List<String> packagesToScan = Arrays.asList(
35+
"com.example.packageone.migrations",
36+
"com.example.packagetwo.migrations"
37+
);
3238

3339
// Act
3440
context.addPackagesFromAnnotationMongockScanPackage(builder, springContext);
3541

3642
// Assert
37-
verify(builder).addMigrationScanPackages(Arrays.asList(
38-
"com.example.packageone.migrations",
39-
"com.example.packagetwo.migrations"
40-
));
43+
verify(builder, times(1)).addMigrationScanPackages(packagesToScan);
44+
verify(springContext, times(1)).getBeansWithAnnotation(MongockScanPackage.class);
45+
Assertions.assertEquals(1, springContext.getBeansWithAnnotation(MongockScanPackage.class).size());
46+
47+
Object bean = springContext.getBeansWithAnnotation(MongockScanPackage.class).get(expectedBeanName);
48+
MongockScanPackage annotation = bean.getClass().getAnnotation(MongockScanPackage.class);
49+
Assertions.assertEquals(packagesToScan.size(), annotation.value().length);
4150
}
4251

4352
@Test
44-
void shouldDoNothing_WhenMongockScanPackageIsNotPresent() {
53+
void shouldDoNothing_WhenAnnotationMongockScanPackageIsNotPresent() {
4554
// Arrange
4655
MongockContext context = new MongockContext();
4756
ApplicationContext springContext = mock(ApplicationContext.class);
4857
RunnerSpringbootBuilder builder = mock(RunnerSpringbootBuilder.class);
58+
when(springContext.getBeansWithAnnotation(MongockScanPackage.class)).thenReturn(Collections.emptyMap());
4959

5060
// Act
5161
context.addPackagesFromAnnotationMongockScanPackage(builder, springContext);
5262

5363
// Assert
5464
verify(builder, never()).addMigrationScanPackages(any());
65+
verify(springContext, times(1)).getBeansWithAnnotation(MongockScanPackage.class);
5566
}
5667

5768
}

mongock-core/mongock-runner/standalone/mongock-standalone/src/test/java/io/mongock/runner/standalone/MongockStandaloneTest.java renamed to mongock-core/mongock-runner/standalone/mongock-standalone/src/test/java/io/mongock/runner/standalone/MongockModuleConfigTest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,15 @@
88

99
import static org.mockito.Mockito.*;
1010

11-
public class MongockStandaloneTest {
11+
public class MongockModuleConfigTest {
1212

1313
@Test
1414
void shouldAddPackage_whenAddMethodCalled() {
1515
// Arrange
1616
RunnerStandaloneBuilder builder = spy(MongockStandaloneFixture.builder(false));
1717
String expectedPackage = "com.example.packageone.migrations";
1818

19-
// Implementação simples do módulo
2019
class TestConfig implements MongockModuleConfig {
21-
2220
@Override
2321
public void configure(MongockScanPackage scan) {
2422
scan.add(expectedPackage);
@@ -45,7 +43,6 @@ void shouldAddPackage_whenAddAllMethodCalled() {
4543
"com.example.packagetree.migrations"
4644
));
4745

48-
// Implementação simples do módulo
4946
class TestConfig implements MongockModuleConfig {
5047

5148
@Override
@@ -68,7 +65,6 @@ void shouldDoNothing_WhenCreatedMongockModuleConfigButNoAddMethodCalled() {
6865
// Arrange
6966
RunnerStandaloneBuilder builder = spy(MongockStandaloneFixture.builder(false));
7067

71-
// Implementação simples do módulo
7268
class TestConfig implements MongockModuleConfig {
7369

7470
@Override

0 commit comments

Comments
 (0)