diff --git a/app/build.gradle b/app/build.gradle index 4829807b7..3b3132061 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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}" @@ -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" 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 a6a27894f..712db93f4 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 000000000..937444d03 --- /dev/null +++ b/app/src/test/java/com/nextcloud/talk/utils/UserIdUtilsTest.kt @@ -0,0 +1,57 @@ +/* + * 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 +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) + } +} +