From 27d977af1124d884da7dd85151615baf464f4a49 Mon Sep 17 00:00:00 2001 From: Smarshall Date: Sun, 27 Aug 2023 02:34:43 +0530 Subject: [PATCH 1/2] Added Unit Test For UserIdUtils --- app/build.gradle | 4 ++- .../com/nextcloud/talk/utils/UserIdUtils.kt | 2 +- .../nextcloud/talk/utils/UserIdUtilsTest.kt | 36 +++++++++++++++++++ 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 app/src/test/java/com/nextcloud/talk/utils/UserIdUtilsTest.kt diff --git a/app/build.gradle b/app/build.gradle index 4829807b7f..4d2f67971e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -244,7 +244,9 @@ dependencies { implementation 'com.github.wooplr:Spotlight:1.3' implementation 'com.google.code.findbugs:jsr305:3.0.2' implementation 'com.github.nextcloud-deps:ChatKit:0.4.2' - + testImplementation 'junit:junit:4.13.2' + testImplementation 'org.mockito:mockito-core:5.5.0' + androidTestImplementation 'org.mockito:mockito-android:2.24.5' implementation 'joda-time:joda-time:2.12.5' implementation "io.coil-kt:coil:${coilKtVersion}" implementation "io.coil-kt:coil-gif:${coilKtVersion}" diff --git a/app/src/main/java/com/nextcloud/talk/utils/UserIdUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/UserIdUtils.kt index a6a27894fe..712db93f4e 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/UserIdUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/UserIdUtils.kt @@ -23,7 +23,7 @@ package com.nextcloud.talk.utils import com.nextcloud.talk.data.user.model.User object UserIdUtils { - private const val NO_ID: Long = -1 + const val NO_ID: Long = -1 fun getIdForUser(user: User?): Long { return if (user?.id != null) { diff --git a/app/src/test/java/com/nextcloud/talk/utils/UserIdUtilsTest.kt b/app/src/test/java/com/nextcloud/talk/utils/UserIdUtilsTest.kt new file mode 100644 index 0000000000..0ac64f660c --- /dev/null +++ b/app/src/test/java/com/nextcloud/talk/utils/UserIdUtilsTest.kt @@ -0,0 +1,36 @@ +package com.nextcloud.talk.utils + +import com.nextcloud.talk.data.user.model.User +import org.junit.Assert +import org.junit.Before +import org.junit.Test +import org.mockito.Mock +import org.mockito.Mockito +import org.mockito.MockitoAnnotations + +class UserIdUtilsTest { + + @Mock + private lateinit var user: User + + @Before + fun setUp() { + MockitoAnnotations.openMocks(this) + } + + @Test + fun testGetIdForUser_if_userIsNull_returnsNoId() { + Mockito.`when`(user.id).thenReturn(null) + val result = UserIdUtils.getIdForUser(user) + Assert.assertEquals("The id is NO_ID when user is null", UserIdUtils.NO_ID, result) + } + + @Test + fun testGetIdForUser_if_userIdIsSet_returnsUserId() { + val expectedId: Long = 12345 + Mockito.`when`(user.id).thenReturn(expectedId) + val result = UserIdUtils.getIdForUser(user) + Assert.assertEquals("The id is correct user id is not null", expectedId, result) + } +} + From 76e86ca536c985a27d13defa0a662118c6521681 Mon Sep 17 00:00:00 2001 From: Smarshall Date: Mon, 28 Aug 2023 16:28:22 +0530 Subject: [PATCH 2/2] Updated Gradle and added the license header as comment --- app/build.gradle | 4 +--- .../nextcloud/talk/utils/UserIdUtilsTest.kt | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4d2f67971e..3b31320612 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -244,9 +244,6 @@ dependencies { implementation 'com.github.wooplr:Spotlight:1.3' implementation 'com.google.code.findbugs:jsr305:3.0.2' implementation 'com.github.nextcloud-deps:ChatKit:0.4.2' - testImplementation 'junit:junit:4.13.2' - testImplementation 'org.mockito:mockito-core:5.5.0' - androidTestImplementation 'org.mockito:mockito-android:2.24.5' implementation 'joda-time:joda-time:2.12.5' implementation "io.coil-kt:coil:${coilKtVersion}" implementation "io.coil-kt:coil-gif:${coilKtVersion}" @@ -289,6 +286,7 @@ dependencies { testImplementation 'junit:junit:4.13.2' testImplementation 'org.mockito:mockito-core:5.5.0' + androidTestImplementation 'org.mockito:mockito-android:2.24.5' testImplementation 'androidx.arch.core:core-testing:2.2.0' androidTestImplementation "androidx.test:core:1.5.0" diff --git a/app/src/test/java/com/nextcloud/talk/utils/UserIdUtilsTest.kt b/app/src/test/java/com/nextcloud/talk/utils/UserIdUtilsTest.kt index 0ac64f660c..937444d036 100644 --- a/app/src/test/java/com/nextcloud/talk/utils/UserIdUtilsTest.kt +++ b/app/src/test/java/com/nextcloud/talk/utils/UserIdUtilsTest.kt @@ -1,3 +1,24 @@ +/* + * Nextcloud Talk application + * + * @author Mario Danic + * @author Marcel Hibbe + * Copyright (C) 2023 Marcel Hibbe + * Copyright (C) 2017-2018 Mario Danic + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ package com.nextcloud.talk.utils import com.nextcloud.talk.data.user.model.User