Merge pull request #3280 from Smarshal21/UnitTest

Added Unit Test For UserIdUtils
This commit is contained in:
Marcel Hibbe 2023-09-08 10:58:01 +02:00 committed by GitHub
commit db3996b3a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 59 additions and 2 deletions

View File

@ -244,7 +244,6 @@ dependencies {
implementation 'com.github.wooplr:Spotlight:1.3' implementation 'com.github.wooplr:Spotlight:1.3'
implementation 'com.google.code.findbugs:jsr305:3.0.2' implementation 'com.google.code.findbugs:jsr305:3.0.2'
implementation 'com.github.nextcloud-deps:ChatKit:0.4.2' implementation 'com.github.nextcloud-deps:ChatKit:0.4.2'
implementation 'joda-time:joda-time:2.12.5' implementation 'joda-time:joda-time:2.12.5'
implementation "io.coil-kt:coil:${coilKtVersion}" implementation "io.coil-kt:coil:${coilKtVersion}"
implementation "io.coil-kt:coil-gif:${coilKtVersion}" implementation "io.coil-kt:coil-gif:${coilKtVersion}"
@ -287,6 +286,7 @@ dependencies {
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-core:5.5.0' 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' testImplementation 'androidx.arch.core:core-testing:2.2.0'
androidTestImplementation "androidx.test:core:1.5.0" androidTestImplementation "androidx.test:core:1.5.0"

View File

@ -23,7 +23,7 @@ package com.nextcloud.talk.utils
import com.nextcloud.talk.data.user.model.User import com.nextcloud.talk.data.user.model.User
object UserIdUtils { object UserIdUtils {
private const val NO_ID: Long = -1 const val NO_ID: Long = -1
fun getIdForUser(user: User?): Long { fun getIdForUser(user: User?): Long {
return if (user?.id != null) { return if (user?.id != null) {

View File

@ -0,0 +1,57 @@
/*
* Nextcloud Talk application
*
* @author Mario Danic
* @author Marcel Hibbe
* Copyright (C) 2023 Marcel Hibbe <dev@mhibbe.de>
* Copyright (C) 2017-2018 Mario Danic <mario@lovelyhq.com>
*
* 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 <http://www.gnu.org/licenses/>.
*/
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)
}
}