Skip to content

Commit

Permalink
WMSDK-410: added tests
Browse files Browse the repository at this point in the history
  • Loading branch information
sozinov committed Feb 13, 2025
1 parent 9992d11 commit 54d3227
Show file tree
Hide file tree
Showing 7 changed files with 161 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@ class SettingsMobileConfigSerializationManagerTest {

assertNotNull(config.settings)
assertEquals(3, config.settings!!.operations!!.size)
assertNotNull(config.settings.ttl?.inApps)
assertNotNull(config.settings.slidingExpiration?.config)

assertNotNull(config.abtests)
assertEquals(2, config.abtests!!.size)
Expand All @@ -114,6 +116,9 @@ class SettingsMobileConfigSerializationManagerTest {

assertNotNull(config.ttl)
assertNotNull(config.ttl?.inApps)

assertNotNull(config.slidingExpiration)
assertNotNull(config.slidingExpiration?.config)
}

// MARK: - Operations
Expand Down Expand Up @@ -441,4 +446,80 @@ class SettingsMobileConfigSerializationManagerTest {
config.ttl?.inApps,
)
}

// MARK: - SlidingExpiration

@Test
fun settings_config_withSlidingExpirationError_shouldSetTtlToNull() {
val json = getJson("ConfigParsing/Settings/SlidingExpirationErrors/SettingsSlidingExpirationError.json")
val config = manager.deserializeSettings(json)!!

assertNotNull("Operations must be successfully parsed", config.operations)
assertNotNull(config.operations?.get("viewProduct"))
assertNotNull(config.operations?.get("viewCategory"))
assertNotNull(config.operations?.get("setCart"))

assertNotNull("TTL must be successfully parsed", config.ttl)
assertNotNull("TTL must be successfully parsed", config.ttl?.inApps)

assertNull("SlidingExpiration must be `null` if the key `slidingExpiration` is not found", config.slidingExpiration)
assertNull("Config session time must be `null`", config.slidingExpiration?.config)
}

@Test
fun settings_config_withSlidingExpirationTypeError_shouldSetTtlToNull() {
val json = getJson("ConfigParsing/Settings/SlidingExpirationErrors/SettingsSlidingExpirationTypeError.json")
val config = manager.deserializeSettings(json)!!

assertNotNull("Operations must be successfully parsed", config.operations)
assertNotNull(config.operations?.get("viewProduct"))
assertNotNull(config.operations?.get("viewCategory"))
assertNotNull(config.operations?.get("setCart"))

assertNotNull("TTL must be successfully parsed", config.ttl)
assertNotNull("TTL must be successfully parsed", config.ttl?.inApps)

assertNull(
"SlidingExpiration must be `null` if the type of `config` is not a `slidingExpiration`",
config.slidingExpiration,
)
assertNull("Config session time must be `null`", config.slidingExpiration?.config)
}

@Test
fun settings_config_withSlidingExpirationConfigError_shouldSetTtlToNull() {
val json = getJson("ConfigParsing/Settings/SlidingExpirationErrors/SettingsSlidingExpirationConfigsError.json")
val config = manager.deserializeSettings(json)!!

assertNotNull("Operations must be successfully parsed", config.operations)
assertNotNull(config.operations?.get("viewProduct"))
assertNotNull(config.operations?.get("viewCategory"))
assertNotNull(config.operations?.get("setCart"))

assertNotNull("TTL must be successfully parsed", config.ttl)
assertNotNull("TTL must be successfully parsed", config.ttl?.inApps)

assertNull("SlidingExpiration must be `null` if the key `config` is not found", config.slidingExpiration)
assertNull("Config session time must be `null`", config.slidingExpiration?.config)
}

@Test
fun settings_config_withSlidingExpirationConfigTypeError_shouldSetTtlToNull() {
val json = getJson("ConfigParsing/Settings/SlidingExpirationErrors/SettingsSlidingExpirationConfigTypeError.json")
val config = manager.deserializeSettings(json)!!

assertNotNull("Operations must be successfully parsed", config.operations)
assertNotNull(config.operations?.get("viewProduct"))
assertNotNull(config.operations?.get("viewCategory"))
assertNotNull(config.operations?.get("setCart"))

assertNotNull("TTL must be successfully parsed", config.ttl)
assertNotNull("TTL must be successfully parsed", config.ttl?.inApps)

assertNull("SlidingExpiration must be `null` if the key `config` is not a `String`", config.slidingExpiration)
assertNull(
"Config session time must be `null` if the key `config` is not a `String`",
config.slidingExpiration?.config,
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,9 @@
},
"ttl": {
"inapps": "1.00:00:00"
},
"slidingExpiration": {
"config": "0.00:30:00"
}
},
"abtests": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,8 @@
},
"ttl": {
"inapps": "1.00:00:00"
},
"slidingExpiration": {
"config": "0.00:30:00"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"operations": {
"viewProduct": {
"systemName": "ViewProduct"
},
"viewCategory": {
"systemName": "ViewCategory"
},
"setCart": {
"systemName": "SetCart"
}
},
"ttl": {
"inapps": "1.00:00:00"
},
"slidingExpiration": {
"config": 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"operations": {
"viewProduct": {
"systemName": "ViewProduct"
},
"viewCategory": {
"systemName": "ViewCategory"
},
"setCart": {
"systemName": "SetCart"
}
},
"ttl": {
"inapps": "1.00:00:00"
},
"slidingExpiration": {
"configTest": "0.00:30:00"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"operations": {
"viewProduct": {
"systemName": "ViewProduct"
},
"viewCategory": {
"systemName": "ViewCategory"
},
"setCart": {
"systemName": "SetCart"
}
},
"ttl": {
"inapps": "1.00:00:00"
},
"slidingExpirationTest": {
"config": "0.00:30:00"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"operations": {
"viewProduct": {
"systemName": "ViewProduct"
},
"viewCategory": {
"systemName": "ViewCategory"
},
"setCart": {
"systemName": "SetCart"
}
},
"ttl": {
"inapps": "1.00:00:00"
},
"slidingExpirationTest" : "1.00:00:00"
}

0 comments on commit 54d3227

Please sign in to comment.