Skip to content

Commit bb041ad

Browse files
authored
Merge pull request #1847 from OneSignal/fix/language_not_set
Fix language not being set
2 parents 6839f4c + 1c184ff commit bb041ad

File tree

3 files changed

+22
-12
lines changed

3 files changed

+22
-12
lines changed

OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/operations/impl/executors/LoginUserOperationExecutor.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import com.onesignal.common.modeling.ModelChangeTags
77
import com.onesignal.core.internal.application.IApplicationService
88
import com.onesignal.core.internal.config.ConfigModelStore
99
import com.onesignal.core.internal.device.IDeviceService
10+
import com.onesignal.core.internal.language.ILanguageContext
1011
import com.onesignal.core.internal.operations.ExecutionResponse
1112
import com.onesignal.core.internal.operations.ExecutionResult
1213
import com.onesignal.core.internal.operations.IOperationExecutor
@@ -36,6 +37,7 @@ internal class LoginUserOperationExecutor(
3637
private val _propertiesModelStore: PropertiesModelStore,
3738
private val _subscriptionsModelStore: SubscriptionModelStore,
3839
private val _configModelStore: ConfigModelStore,
40+
private val _languageContext: ILanguageContext
3941
) : IOperationExecutor {
4042

4143
override val operations: List<String>
@@ -101,7 +103,8 @@ internal class LoginUserOperationExecutor(
101103
var identities = mapOf<String, String>()
102104
var subscriptions = mapOf<String, SubscriptionObject>()
103105
val properties = mutableMapOf<String, String>()
104-
properties["timezone_id"] = TimeUtils.getTimeZoneId()
106+
properties["timezone_id"] = TimeUtils.getTimeZoneId()!!
107+
properties["language"] = _languageContext.language
105108

106109
if (createUserOperation.externalId != null) {
107110
val mutableIdentities = identities.toMutableMap()

OneSignalSDK/onesignal/core/src/test/java/com/onesignal/user/internal/backend/UserBackendServiceTests.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ class UserBackendServiceTests : FunSpec({
4545
/* Given */
4646
val osId = "11111111-1111-1111-1111-111111111111"
4747
val spyHttpClient = mockk<IHttpClient>()
48-
coEvery { spyHttpClient.post(any(), any()) } returns HttpResponse(202, "{identity:{onesignal_id: \"$osId\", aliasLabel1: \"aliasValue1\"}, properties:{timezone_id: \"testTimeZone\"}}")
48+
coEvery { spyHttpClient.post(any(), any()) } returns HttpResponse(202, "{identity:{onesignal_id: \"$osId\", aliasLabel1: \"aliasValue1\"}, properties:{timezone_id: \"testTimeZone\", language: \"testLanguage\"}}")
4949
val userBackendService = UserBackendService(spyHttpClient)
5050
val identities = mapOf("aliasLabel1" to "aliasValue1")
51-
val properties = mapOf("timzone_id" to "testTimeZone")
51+
val properties = mapOf("timezone_id" to "testTimeZone", "language" to "testLanguage")
5252
val subscriptions = listOf<SubscriptionObject>()
5353

5454
/* When */
@@ -58,6 +58,7 @@ class UserBackendServiceTests : FunSpec({
5858
response.identities["onesignal_id"] shouldBe osId
5959
response.identities["aliasLabel1"] shouldBe "aliasValue1"
6060
response.properties.timezoneId shouldBe "testTimeZone"
61+
response.properties.language shouldBe "testLanguage"
6162
response.subscriptions.count() shouldBe 0
6263
coVerify {
6364
spyHttpClient.post(
@@ -77,11 +78,11 @@ class UserBackendServiceTests : FunSpec({
7778
/* Given */
7879
val osId = "11111111-1111-1111-1111-111111111111"
7980
val spyHttpClient = mockk<IHttpClient>()
80-
coEvery { spyHttpClient.post(any(), any()) } returns HttpResponse(202, "{identity:{onesignal_id: \"$osId\"}, subscriptions:[{id:\"subscriptionId1\", type:\"AndroidPush\"}], properties:{timezone_id: \"testTimeZone\"}}")
81+
coEvery { spyHttpClient.post(any(), any()) } returns HttpResponse(202, "{identity:{onesignal_id: \"$osId\"}, subscriptions:[{id:\"subscriptionId1\", type:\"AndroidPush\"}], properties:{timezone_id: \"testTimeZone\", language: \"testLanguage\"}}")
8182
val userBackendService = UserBackendService(spyHttpClient)
8283
val identities = mapOf<String, String>()
8384
val subscriptions = mutableListOf<SubscriptionObject>()
84-
val properties = mapOf("timzone_id" to "testTimeZone")
85+
val properties = mapOf("timezone_id" to "testTimeZone", "language" to "testLanguage")
8586
subscriptions.add(SubscriptionObject("SHOULDNOTUSE", SubscriptionObjectType.ANDROID_PUSH))
8687

8788
/* When */
@@ -90,6 +91,7 @@ class UserBackendServiceTests : FunSpec({
9091
/* Then */
9192
response.identities["onesignal_id"] shouldBe osId
9293
response.properties.timezoneId shouldBe "testTimeZone"
94+
response.properties.language shouldBe "testLanguage"
9395
response.subscriptions.count() shouldBe 1
9496
response.subscriptions[0].id shouldBe "subscriptionId1"
9597
response.subscriptions[0].type shouldBe SubscriptionObjectType.ANDROID_PUSH

OneSignalSDK/onesignal/core/src/test/java/com/onesignal/user/internal/operations/LoginUserOperationExecutorTests.kt

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ class LoginUserOperationExecutorTests : FunSpec({
6767
mockPropertiesModelStore,
6868
mockSubscriptionsModelStore,
6969
MockHelper.configModelStore(),
70+
MockHelper.languageContext()
7071
)
7172
val operations = listOf<Operation>(LoginUserOperation(appId, localOneSignalId, null, null))
7273

@@ -96,7 +97,7 @@ class LoginUserOperationExecutorTests : FunSpec({
9697
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
9798
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()
9899

99-
val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore, MockHelper.configModelStore())
100+
val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore, MockHelper.configModelStore(), MockHelper.languageContext())
100101
val operations = listOf<Operation>(LoginUserOperation(appId, localOneSignalId, null, null))
101102

102103
/* When */
@@ -118,7 +119,7 @@ class LoginUserOperationExecutorTests : FunSpec({
118119
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
119120
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()
120121

121-
val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore, MockHelper.configModelStore())
122+
val loginUserOperationExecutor = LoginUserOperationExecutor(mockIdentityOperationExecutor, MockHelper.applicationService(), MockHelper.deviceService(), mockUserBackendService, mockIdentityModelStore, mockPropertiesModelStore, mockSubscriptionsModelStore, MockHelper.configModelStore(), MockHelper.languageContext())
122123
val operations = listOf<Operation>(LoginUserOperation(appId, localOneSignalId, null, null))
123124

124125
/* When */
@@ -141,7 +142,7 @@ class LoginUserOperationExecutorTests : FunSpec({
141142
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
142143
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()
143144

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

147148
/* When */
@@ -163,7 +164,7 @@ class LoginUserOperationExecutorTests : FunSpec({
163164
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
164165
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()
165166

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

169170
/* When */
@@ -198,7 +199,7 @@ class LoginUserOperationExecutorTests : FunSpec({
198199
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
199200
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()
200201

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

204205
/* When */
@@ -233,7 +234,7 @@ class LoginUserOperationExecutorTests : FunSpec({
233234
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
234235
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()
235236

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

239240
/* When */
@@ -268,7 +269,7 @@ class LoginUserOperationExecutorTests : FunSpec({
268269
val mockPropertiesModelStore = MockHelper.propertiesModelStore()
269270
val mockSubscriptionsModelStore = mockk<SubscriptionModelStore>()
270271

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

274275
/* When */
@@ -315,6 +316,7 @@ class LoginUserOperationExecutorTests : FunSpec({
315316
mockPropertiesModelStore,
316317
mockSubscriptionsModelStore,
317318
MockHelper.configModelStore(),
319+
MockHelper.languageContext()
318320
)
319321
val operations = listOf<Operation>(
320322
LoginUserOperation(appId, localOneSignalId, null, null),
@@ -402,6 +404,7 @@ class LoginUserOperationExecutorTests : FunSpec({
402404
mockPropertiesModelStore,
403405
mockSubscriptionsModelStore,
404406
MockHelper.configModelStore(),
407+
MockHelper.languageContext()
405408
)
406409
val operations = listOf<Operation>(
407410
LoginUserOperation(appId, localOneSignalId, null, null),
@@ -469,6 +472,7 @@ class LoginUserOperationExecutorTests : FunSpec({
469472
mockPropertiesModelStore,
470473
mockSubscriptionsModelStore,
471474
MockHelper.configModelStore(),
475+
MockHelper.languageContext()
472476
)
473477
val operations = listOf<Operation>(
474478
LoginUserOperation(appId, localOneSignalId, null, null),
@@ -522,6 +526,7 @@ class LoginUserOperationExecutorTests : FunSpec({
522526
mockPropertiesModelStore,
523527
mockSubscriptionsModelStore,
524528
MockHelper.configModelStore(),
529+
MockHelper.languageContext()
525530
)
526531
val operations = listOf<Operation>(
527532
LoginUserOperation(appId, localOneSignalId, null, null),

0 commit comments

Comments
 (0)