From feb5f26cc9cf4e94c59c00f030ad1a6e6102031b Mon Sep 17 00:00:00 2001 From: NathanFallet Date: Sun, 14 Jan 2024 17:05:33 +0100 Subject: [PATCH] Setting up first test --- .github/FUNDING.yml | 1 + .github/workflows/build.yml | 21 +++++++++++++++++++ shared/build.gradle.kts | 13 ++++++------ .../usecases/auth/GetTokenUseCaseTest.kt | 19 +++++++++++++++++ 4 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 .github/FUNDING.yml create mode 100644 .github/workflows/build.yml create mode 100644 shared/src/androidUnitTest/kotlin/me/nathanfallet/extopy/usecases/auth/GetTokenUseCaseTest.kt diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..9f95aaa --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: [ GroupeMINASTE, NathanFallet, PlugNPush, JohnPoliakov ] diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..32708da --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,21 @@ +name: Build +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up our JDK environment + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: 19 + - name: Install dependencies and run tests + run: ./gradlew test koverXmlReport + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v3 diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts index 6ffe0fd..e578707 100644 --- a/shared/build.gradle.kts +++ b/shared/build.gradle.kts @@ -52,18 +52,19 @@ kotlin { api("me.nathanfallet.extopy:extopy-commons:0.1.0") } } - val commonTest by getting { - dependencies { - implementation(kotlin("test")) - } - } + val commonTest by getting val androidMain by getting { dependencies { implementation("io.ktor:ktor-client-android:$ktorVersion") implementation("com.squareup.sqldelight:android-driver:$sqlDelightVersion") } } - val androidUnitTest by getting + val androidUnitTest by getting { + dependencies { + implementation(kotlin("test")) + implementation("io.mockk:mockk:1.13.8") + } + } val iosX64Main by getting val iosArm64Main by getting val iosSimulatorArm64Main by getting diff --git a/shared/src/androidUnitTest/kotlin/me/nathanfallet/extopy/usecases/auth/GetTokenUseCaseTest.kt b/shared/src/androidUnitTest/kotlin/me/nathanfallet/extopy/usecases/auth/GetTokenUseCaseTest.kt new file mode 100644 index 0000000..9834bec --- /dev/null +++ b/shared/src/androidUnitTest/kotlin/me/nathanfallet/extopy/usecases/auth/GetTokenUseCaseTest.kt @@ -0,0 +1,19 @@ +package me.nathanfallet.extopy.usecases.auth + +import io.mockk.every +import io.mockk.mockk +import me.nathanfallet.extopy.repositories.application.ITokenRepository +import kotlin.test.Test +import kotlin.test.assertEquals + +class GetTokenUseCaseTest { + + @Test + fun invoke() { + val tokenRepository = mockk() + val useCase = GetTokenUseCase(tokenRepository) + every { tokenRepository.getToken() }.returns("token") + assertEquals("token", useCase()) + } + +}