From 3d1228723df657338c96c839b04d0516e3d01af2 Mon Sep 17 00:00:00 2001 From: Inaki Villar Date: Fri, 20 Feb 2026 18:53:46 +0100 Subject: [PATCH] adding RoomNoneE2EValidationTest --- .../RoomNoneE2EValidationTest.kt | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 project-generator/src/test/kotlin/io/github/cdsap/projectgenerator/RoomNoneE2EValidationTest.kt diff --git a/project-generator/src/test/kotlin/io/github/cdsap/projectgenerator/RoomNoneE2EValidationTest.kt b/project-generator/src/test/kotlin/io/github/cdsap/projectgenerator/RoomNoneE2EValidationTest.kt new file mode 100644 index 00000000..c71d1beb --- /dev/null +++ b/project-generator/src/test/kotlin/io/github/cdsap/projectgenerator/RoomNoneE2EValidationTest.kt @@ -0,0 +1,61 @@ +package io.github.cdsap.projectgenerator + +import io.github.cdsap.projectgenerator.model.Android +import io.github.cdsap.projectgenerator.model.ClassesPerModule +import io.github.cdsap.projectgenerator.model.ClassesPerModuleType +import io.github.cdsap.projectgenerator.model.DependencyInjection +import io.github.cdsap.projectgenerator.model.Gradle +import io.github.cdsap.projectgenerator.model.Language +import io.github.cdsap.projectgenerator.model.Project +import io.github.cdsap.projectgenerator.model.Shape +import io.github.cdsap.projectgenerator.model.TypeOfStringResources +import io.github.cdsap.projectgenerator.model.TypeProjectRequested +import io.github.cdsap.projectgenerator.model.Versions +import io.github.cdsap.projectgenerator.writer.GradleWrapper +import org.gradle.testkit.runner.GradleRunner +import org.junit.jupiter.api.Assertions.assertTrue +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.io.TempDir +import java.io.File +import java.nio.file.Path + +class RoomNoneE2EValidationTest { + @TempDir + lateinit var tempDir: Path + + @Test + fun `room with di none builds and runs unit tests`() { + ProjectGenerator( + modules = 10, + shape = Shape.RHOMBUS, + language = Language.KTS, + typeOfProjectRequested = TypeProjectRequested.ANDROID, + classesPerModule = ClassesPerModule(ClassesPerModuleType.FIXED, 12), + versions = Versions( + project = Project(jdk = "17"), + di = DependencyInjection.NONE, + android = Android(roomDatabase = true) + ), + typeOfStringResources = TypeOfStringResources.NORMAL, + layers = 3, + generateUnitTest = true, + gradle = GradleWrapper(Gradle.GRADLE_9_3_0), + path = tempDir.toFile().path, + projectName = "room_none_e2e" + ).write() + + val projectDir = File("$tempDir/room_none_e2e/project_kts") + + val assemble = GradleRunner.create() + .withProjectDir(projectDir) + .withArguments("assembleDebug") + .build() + assertTrue(assemble.output.contains("BUILD SUCCESSFUL")) + + val tests = GradleRunner.create() + .withProjectDir(projectDir) + .withArguments("testDebugUnitTest") + .build() + assertTrue(tests.output.contains("BUILD SUCCESSFUL")) + } +}