Skip to content

Commit

Permalink
Merge pull request #3280 from Smarshal21/UnitTest
Browse files Browse the repository at this point in the history
Added Unit Test For UserIdUtils
  • Loading branch information
mahibi authored Sep 8, 2023
2 parents 781a4f7 + 76e86ca commit db3996b
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 2 deletions.
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +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'

implementation 'joda-time:joda-time:2.12.5'
implementation "io.coil-kt:coil:${coilKtVersion}"
implementation "io.coil-kt:coil-gif:${coilKtVersion}"
Expand Down Expand Up @@ -287,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"
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/com/nextcloud/talk/utils/UserIdUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
57 changes: 57 additions & 0 deletions app/src/test/java/com/nextcloud/talk/utils/UserIdUtilsTest.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/*
* Nextcloud Talk application
*
* @author Mario Danic
* @author Marcel Hibbe
* Copyright (C) 2023 Marcel Hibbe <[email protected]>
* Copyright (C) 2017-2018 Mario Danic <[email protected]>
*
* 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)
}
}

0 comments on commit db3996b

Please sign in to comment.