Skip to content

Commit

Permalink
Merge pull request #1728 from OneSignal/user-model/unit-test-fixup
Browse files Browse the repository at this point in the history
[User Model] Fix broken unit test compilation
  • Loading branch information
brismithers authored and jinliu9508 committed Jan 31, 2024
2 parents 8faa246 + fd6d523 commit 2c0246e
Show file tree
Hide file tree
Showing 7 changed files with 135 additions and 50 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,9 @@ class UserManagerTests : FunSpec({
val userManager = UserManager(mockSubscriptionManager, MockHelper.identityModelStore(), MockHelper.propertiesModelStore(), languageContext)

/* When */
val language = userManager.language
userManager.language = "new-language"
userManager.setLanguage("new-language")

/* Then */
language shouldBe "custom-language"
languageSlot.captured shouldBe "new-language"
}

Expand Down Expand Up @@ -144,11 +142,11 @@ class UserManagerTests : FunSpec({

/* When */
val subscriptions = userManager.subscriptions
userManager.addEmailSubscription("[email protected]")
userManager.removeEmailSubscription("[email protected]")
userManager.addEmail("[email protected]")
userManager.removeEmail("[email protected]")

userManager.addSmsSubscription("+15558675309")
userManager.removeSmsSubscription("+15558675309")
userManager.addSms("+15558675309")
userManager.removeSms("+15558675309")

/* Then */
subscriptions shouldBe subscriptionList
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.onesignal.core.internal.operations.Operation
import com.onesignal.mocks.MockHelper
import com.onesignal.user.internal.backend.IIdentityBackendService
import com.onesignal.user.internal.backend.IdentityConstants
import com.onesignal.user.internal.builduser.IRebuildUserService
import com.onesignal.user.internal.identity.IdentityModel
import com.onesignal.user.internal.identity.IdentityModelStore
import com.onesignal.user.internal.operations.impl.executors.IdentityOperationExecutor
Expand Down Expand Up @@ -37,7 +38,9 @@ class IdentityOperationExecutorTests : FunSpec({
val mockIdentityModelStore = mockk<IdentityModelStore>()
every { mockIdentityModelStore.model } returns mockIdentityModel

val identityOperationExecutor = IdentityOperationExecutor(mockIdentityBackendService, mockIdentityModelStore)
val mockBuildUserService = mockk<IRebuildUserService>()

val identityOperationExecutor = IdentityOperationExecutor(mockIdentityBackendService, mockIdentityModelStore, mockBuildUserService)
val operations = listOf<Operation>(SetAliasOperation("appId", "onesignalId", "aliasKey1", "aliasValue1"))

/* When */
Expand All @@ -55,8 +58,9 @@ class IdentityOperationExecutorTests : FunSpec({
coEvery { mockIdentityBackendService.setAlias(any(), any(), any(), any()) } throws BackendException(408, "TIMEOUT")

val mockIdentityModelStore = MockHelper.identityModelStore()
val mockBuildUserService = mockk<IRebuildUserService>()

val identityOperationExecutor = IdentityOperationExecutor(mockIdentityBackendService, mockIdentityModelStore)
val identityOperationExecutor = IdentityOperationExecutor(mockIdentityBackendService, mockIdentityModelStore, mockBuildUserService)
val operations = listOf<Operation>(SetAliasOperation("appId", "onesignalId", "aliasKey1", "aliasValue1"))

/* When */
Expand All @@ -70,11 +74,12 @@ class IdentityOperationExecutorTests : FunSpec({
test("execution of set alias operation with non-retryable error") {
/* Given */
val mockIdentityBackendService = mockk<IIdentityBackendService>()
coEvery { mockIdentityBackendService.setAlias(any(), any(), any(), any()) } throws BackendException(404, "NOT FOUND")
coEvery { mockIdentityBackendService.setAlias(any(), any(), any(), any()) } throws BackendException(400, "INVALID")

val mockIdentityModelStore = MockHelper.identityModelStore()
val mockBuildUserService = mockk<IRebuildUserService>()

val identityOperationExecutor = IdentityOperationExecutor(mockIdentityBackendService, mockIdentityModelStore)
val identityOperationExecutor = IdentityOperationExecutor(mockIdentityBackendService, mockIdentityModelStore, mockBuildUserService)
val operations = listOf<Operation>(SetAliasOperation("appId", "onesignalId", "aliasKey1", "aliasValue1"))

/* When */
Expand All @@ -97,7 +102,9 @@ class IdentityOperationExecutorTests : FunSpec({
val mockIdentityModelStore = mockk<IdentityModelStore>()
every { mockIdentityModelStore.model } returns mockIdentityModel

val identityOperationExecutor = IdentityOperationExecutor(mockIdentityBackendService, mockIdentityModelStore)
val mockBuildUserService = mockk<IRebuildUserService>()

val identityOperationExecutor = IdentityOperationExecutor(mockIdentityBackendService, mockIdentityModelStore, mockBuildUserService)
val operations = listOf<Operation>(DeleteAliasOperation("appId", "onesignalId", "aliasKey1"))

/* When */
Expand All @@ -115,8 +122,9 @@ class IdentityOperationExecutorTests : FunSpec({
coEvery { mockIdentityBackendService.deleteAlias(any(), any(), any(), any()) } throws BackendException(408, "TIMEOUT")

val mockIdentityModelStore = MockHelper.identityModelStore()
val mockBuildUserService = mockk<IRebuildUserService>()

val identityOperationExecutor = IdentityOperationExecutor(mockIdentityBackendService, mockIdentityModelStore)
val identityOperationExecutor = IdentityOperationExecutor(mockIdentityBackendService, mockIdentityModelStore, mockBuildUserService)
val operations = listOf<Operation>(DeleteAliasOperation("appId", "onesignalId", "aliasKey1"))

/* When */
Expand All @@ -130,11 +138,12 @@ class IdentityOperationExecutorTests : FunSpec({
test("execution of delete alias operation with non-retryable error") {
/* Given */
val mockIdentityBackendService = mockk<IIdentityBackendService>()
coEvery { mockIdentityBackendService.deleteAlias(any(), any(), any(), any()) } throws BackendException(404, "NOT FOUND")
coEvery { mockIdentityBackendService.deleteAlias(any(), any(), any(), any()) } throws BackendException(400, "INVALID")

val mockIdentityModelStore = MockHelper.identityModelStore()
val mockBuildUserService = mockk<IRebuildUserService>()

val identityOperationExecutor = IdentityOperationExecutor(mockIdentityBackendService, mockIdentityModelStore)
val identityOperationExecutor = IdentityOperationExecutor(mockIdentityBackendService, mockIdentityModelStore, mockBuildUserService)
val operations = listOf<Operation>(DeleteAliasOperation("appId", "onesignalId", "aliasKey1"))

/* When */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,8 @@ class LoginUserOperationExecutorTests : FunSpec({
mockUserBackendService,
mockIdentityModelStore,
mockPropertiesModelStore,
mockSubscriptionsModelStore
mockSubscriptionsModelStore,
MockHelper.configModelStore()
)
val operations = listOf<Operation>(LoginUserOperation(appId, localOneSignalId, null, null))

Expand Down Expand Up @@ -95,7 +96,7 @@ class LoginUserOperationExecutorTests : FunSpec({
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()

val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore)
val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore, MockHelper.configModelStore())
val operations = listOf<Operation>(LoginUserOperation(appId, localOneSignalId, null, null))

/* When */
Expand All @@ -117,7 +118,7 @@ class LoginUserOperationExecutorTests : FunSpec({
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()

val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore)
val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore, MockHelper.configModelStore())
val operations = listOf<Operation>(LoginUserOperation(appId, localOneSignalId, null, null))

/* When */
Expand All @@ -140,7 +141,7 @@ class LoginUserOperationExecutorTests : FunSpec({
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()

val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore)
val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore, MockHelper.configModelStore())
val operations = listOf<Operation>(LoginUserOperation(appId, localOneSignalId, "externalId", null))

/* When */
Expand All @@ -162,7 +163,7 @@ class LoginUserOperationExecutorTests : FunSpec({
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()

val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore)
val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore, MockHelper.configModelStore())
val operations = listOf<Operation>(LoginUserOperation(appId, localOneSignalId, "externalId", "existingOneSignalId"))

/* When */
Expand Down Expand Up @@ -197,7 +198,7 @@ class LoginUserOperationExecutorTests : FunSpec({
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()

val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore)
val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore, MockHelper.configModelStore())
val operations = listOf<Operation>(LoginUserOperation(appId, localOneSignalId, "externalId", "existingOneSignalId"))

/* When */
Expand Down Expand Up @@ -232,7 +233,7 @@ class LoginUserOperationExecutorTests : FunSpec({
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()

val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore)
val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore, MockHelper.configModelStore())
val operations = listOf<Operation>(LoginUserOperation(appId, localOneSignalId, "externalId", "existingOneSignalId"))

/* When */
Expand Down Expand Up @@ -267,7 +268,7 @@ class LoginUserOperationExecutorTests : FunSpec({
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()

val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore)
val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore, MockHelper.configModelStore())
val operations = listOf<Operation>(LoginUserOperation(appId, localOneSignalId, "externalId", "existingOneSignalId"))

/* When */
Expand Down Expand Up @@ -312,7 +313,8 @@ class LoginUserOperationExecutorTests : FunSpec({
mockUserBackendService,
mockIdentityModelStore,
mockPropertiesModelStore,
mockSubscriptionsModelStore
mockSubscriptionsModelStore,
MockHelper.configModelStore()
)
val operations = listOf<Operation>(
LoginUserOperation(appId, localOneSignalId, null, null),
Expand Down Expand Up @@ -405,7 +407,8 @@ class LoginUserOperationExecutorTests : FunSpec({
mockUserBackendService,
mockIdentityModelStore,
mockPropertiesModelStore,
mockSubscriptionsModelStore
mockSubscriptionsModelStore,
MockHelper.configModelStore()
)
val operations = listOf<Operation>(
LoginUserOperation(appId, localOneSignalId, null, null),
Expand Down Expand Up @@ -471,7 +474,8 @@ class LoginUserOperationExecutorTests : FunSpec({
mockUserBackendService,
mockIdentityModelStore,
mockPropertiesModelStore,
mockSubscriptionsModelStore
mockSubscriptionsModelStore,
MockHelper.configModelStore()
)
val operations = listOf<Operation>(
LoginUserOperation(appId, localOneSignalId, null, null),
Expand Down Expand Up @@ -523,7 +527,8 @@ class LoginUserOperationExecutorTests : FunSpec({
mockUserBackendService,
mockIdentityModelStore,
mockPropertiesModelStore,
mockSubscriptionsModelStore
mockSubscriptionsModelStore,
MockHelper.configModelStore()
)
val operations = listOf<Operation>(
LoginUserOperation(appId, localOneSignalId, null, null),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import com.onesignal.user.internal.backend.IdentityConstants
import com.onesignal.user.internal.backend.PropertiesObject
import com.onesignal.user.internal.backend.SubscriptionObject
import com.onesignal.user.internal.backend.SubscriptionObjectType
import com.onesignal.user.internal.builduser.IRebuildUserService
import com.onesignal.user.internal.identity.IdentityModel
import com.onesignal.user.internal.operations.impl.executors.RefreshUserOperationExecutor
import com.onesignal.user.internal.properties.PropertiesModel
Expand Down Expand Up @@ -62,11 +63,15 @@ class RefreshUserOperationExecutorTests : FunSpec({
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()
every { mockSubscriptionsModelStore.replaceAll(any(), any()) } just runs

val mockBuildUserService = mockk<IRebuildUserService>()

val loginUserOperationExecutor = RefreshUserOperationExecutor(
mockUserBackendService,
mockIdentityModelStore,
mockPropertiesModelStore,
mockSubscriptionsModelStore
mockSubscriptionsModelStore,
MockHelper.configModelStore(),
mockBuildUserService
)

val operations = listOf<Operation>(RefreshUserOperation(appId, remoteOneSignalId))
Expand Down Expand Up @@ -131,12 +136,15 @@ class RefreshUserOperationExecutorTests : FunSpec({
every { mockPropertiesModelStore.model } returns mockPropertiesModel

val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()
val mockBuildUserService = mockk<IRebuildUserService>()

val loginUserOperationExecutor = RefreshUserOperationExecutor(
mockUserBackendService,
mockIdentityModelStore,
mockPropertiesModelStore,
mockSubscriptionsModelStore
mockSubscriptionsModelStore,
MockHelper.configModelStore(),
mockBuildUserService
)

val operations = listOf<Operation>(RefreshUserOperation(appId, remoteOneSignalId))
Expand All @@ -163,12 +171,15 @@ class RefreshUserOperationExecutorTests : FunSpec({
val mockIdentityModelStore = MockHelper.identityModelStore()
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()
val mockBuildUserService = mockk<IRebuildUserService>()

val loginUserOperationExecutor = RefreshUserOperationExecutor(
mockUserBackendService,
mockIdentityModelStore,
mockPropertiesModelStore,
mockSubscriptionsModelStore
mockSubscriptionsModelStore,
MockHelper.configModelStore(),
mockBuildUserService
)

val operations = listOf<Operation>(RefreshUserOperation(appId, remoteOneSignalId))
Expand All @@ -186,18 +197,21 @@ class RefreshUserOperationExecutorTests : FunSpec({
test("refresh user fails without retry when there is a backend error condition") {
/* Given */
val mockUserBackendService = mockk<IUserBackendService>()
coEvery { mockUserBackendService.getUser(appId, IdentityConstants.ONESIGNAL_ID, remoteOneSignalId) } throws BackendException(404)
coEvery { mockUserBackendService.getUser(appId, IdentityConstants.ONESIGNAL_ID, remoteOneSignalId) } throws BackendException(400)

/* Given */
val mockIdentityModelStore = MockHelper.identityModelStore()
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()
val mockBuildUserService = mockk<IRebuildUserService>()

val loginUserOperationExecutor = RefreshUserOperationExecutor(
mockUserBackendService,
mockIdentityModelStore,
mockPropertiesModelStore,
mockSubscriptionsModelStore
mockSubscriptionsModelStore,
MockHelper.configModelStore(),
mockBuildUserService
)

val operations = listOf<Operation>(RefreshUserOperation(appId, remoteOneSignalId))
Expand Down
Loading

0 comments on commit 2c0246e

Please sign in to comment.