Skip to content

Commit

Permalink
feat: XSB Advertising module cleanup (#251)
Browse files Browse the repository at this point in the history
  • Loading branch information
Roebot926 authored Nov 11, 2024
1 parent 4ed6d64 commit 6e457d0
Showing 1 changed file with 77 additions and 75 deletions.
152 changes: 77 additions & 75 deletions cypress/TestCases/FireboltCertification/Advertising.feature
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ Feature: Advertising
Given the environment has been set up for 'Advertising' tests
And 3rd party 'certification' app is launched

@sdk @transport
Scenario Outline: Advertising.policy - Positive Scenario: <Scenario>
@sdk @transport @Sev0
Scenario Outline: Advertising.policy - Validating API and Event responses when <Scenario>
Given '3rd party app' registers for the 'advertising onPolicyChanged' event using the 'Firebolt' API
And '3rd party app' invokes the 'Firebolt' API to 'get advertising policy'
When 1st party app invokes the 'Firebolt' API to '<API_Key>'
Expand All @@ -16,12 +16,12 @@ Feature: Advertising
And 'Firebolt' platform triggers event '<Event_Validation_key>'

Examples:
| Scenario | API_Key | Method_Validation_key | Event_Validation_key |
| Enable limitAdTracking | enable limitAdTracking | Advertising policy limitAdTracking as false | onPolicyChanged for advertising limitAdTracking with false |
| Disable limitAdTracking | disable limitAdTracking | Advertising policy limitAdTracking as true | onPolicyChanged for advertising limitAdTracking with true |
| Scenario | API_Key | Method_Validation_key | Event_Validation_key |
| enabling limitAdTracking | enable limitAdTracking | Advertising policy limitAdTracking as false | onPolicyChanged for advertising limitAdTracking with false |
| disabling limitAdTracking | disable limitAdTracking | Advertising policy limitAdTracking as true | onPolicyChanged for advertising limitAdTracking with true |

@sdk @transport
Scenario Outline: Advertising.policy - Positive Scenario: <Scenario>
@sdk @transport @Sev1
Scenario Outline: Advertising.policy - Validating API and Event responses when <Method> set to <Value>
Given we test the 'ADVERTISING_SKIPRESTRICTION' getters and setters '<Method>' to '<Value>'
And '3rd party app' registers for the 'Firebolt' event
And '3rd party app' invokes the 'Firebolt' get API
Expand All @@ -32,25 +32,25 @@ Feature: Advertising
And 'Firebolt' platform triggers '3rd party app' event

Examples:
| Scenario | Method | Value |
| SkipRestriction adsAll | skipRestriction | adsAll |
| SkipRestriction none | skipRestriction | none |
| SkipRestriction adsUnwatched | skipRestriction | adsUnwatched |
| SkipRestriction all | skipRestriction | all |

@sdk @transport
Scenario: Advertising.deviceAttributes - Positive Scenario: Get deviceAttributes
| Method | Value |
| skipRestriction | adsAll |
| skipRestriction | none |
| skipRestriction | adsUnwatched |
| skipRestriction | all |

@sdk @transport @Sev2
Scenario: Advertising.deviceAttributes - Validating API Method response content
Given we test the 'ADVERTISING_DEVICEATTRIBUTES' getters and setters
When '3rd party app' invokes the 'Firebolt' get API
Then 'Firebolt' platform responds to '3rd party app' get API

@sdk @transport
Scenario: Advertising.appBundleId - Positive Scenario: Get appBundleId
@sdk @transport @Sev2
Scenario: Advertising.appBundleId - Validating API Method response content
When '3rd party app' invokes the 'Firebolt' API to 'get appBundleId'
Then 'Firebolt' platform responds with 'advertising appBundleId'

@sdk @transport
Scenario Outline: Advertising.advertisingId - Positive Scenario: Special Validation <Scenario>
@sdk @transport @Sev1
Scenario Outline: Advertising.advertisingId - Validating API and Event responses when <Scenario>
When '3rd party app' invokes the 'Firebolt' API to 'get advertisingId'
And '3rd party app' invokes the 'Firebolt' API to 'get initialization parameters'
And 1st party app invokes the 'Firebolt' API to '<API_Key>'
Expand All @@ -61,89 +61,91 @@ Feature: Advertising
And 'Firebolt' platform responds with '<Parameters_Validation_key>'

Examples:
| Scenario | API_Key | AdvertidingId_Validation_key | Parameters_Validation_key |
| limitAdTracking_OFF | enable limitAdTracking | limitAdTracking OFF for advertisingId | parameters initialization advertisingId ad off |
| limitAdTracking_ON | disable limitAdTracking | limitAdTracking ON for advertisingId | parameters initialization advertisingId ad on |
| Scenario | API_Key | AdvertidingId_Validation_key | Parameters_Validation_key |
| disabling limitAdTracking | enable limitAdTracking | limitAdTracking OFF for advertisingId | parameters initialization advertisingId ad off |
| enabling limitAdTracking | disable limitAdTracking | limitAdTracking ON for advertisingId | parameters initialization advertisingId ad on |

@sdk @transport
Scenario Outline: Advertising.config Coppa value - Positive Scenario: <Scenario>
@sdk @transport @Sev2
Scenario Outline: Advertising.config - Validating API Method responses for Coppa set to <Scenario>
When '3rd party app' invokes the 'Firebolt' API to '<API_Key>'
Then 'Firebolt' platform responds with '<Method_Validation_key>'

Examples:
| Scenario | API_Key | Method_Validation_key |
| Coppa None | get no coppa | advertising config coppa as zero |
| Coppa TRUE | get coppa as true | advertising config coppa as one |
| Coppa FALSE | get coppa as false | advertising config coppa as zero |
| Coppa None with environment value test | get no coppa with environment value test | advertising config coppa as zero |
| Coppa TRUE with environment value test | get coppa as true with environment value test | advertising config coppa as one |
| Coppa FALSE with environment value test | get coppa as false with environment value test | advertising config coppa as zero |

@sdk @transport
Scenario Outline: Advertising.config - special Scenario: Validation <Scenario>
| Scenario | API_Key | Method_Validation_key |
| none | get no coppa | advertising config coppa as zero |
| true | get coppa as true | advertising config coppa as one |
| false | get coppa as false | advertising config coppa as zero |
| none with environment value test | get no coppa with environment value test | advertising config coppa as zero |
| true with environment value test | get coppa as true with environment value test | advertising config coppa as one |
| false with environment value test | get coppa as false with environment value test | advertising config coppa as zero |

@sdk @transport @Sev2
Scenario Outline: Advertising.config - Validating API and Event responses when <Scenario>
When '3rd party app' invokes the 'Firebolt' API to '<CORE_API_Key>'
And 1st party app invokes the 'Firebolt' API to '<MANAGE_API_Key>'
Then 'Firebolt' platform responds to '1st party app' with '<MANAGE_API_Key>'
When '3rd party app' invokes the 'Firebolt' API to '<CORE_API_Key>'
Then 'Firebolt' platform responds with '<Method_Validation_key>'

Examples:
| Scenario | MANAGE_API_Key | CORE_API_Key | Method_Validation_key |
| limitAdTracking_ON With param True | enable limitAdTracking | get coppa as true | advertising config |
| limitAdTracking_OFF With param True | disable limitAdTracking | get coppa as true | advertising config |
| limitAdTracking_ON With param False | enable limitAdTracking | get coppa as false | advertising config |
| limitAdTracking_OFF With param False | disable limitAdTracking | get coppa as false | advertising config |
| Only coppa as params | enable limitAdTracking | get only coppa | advertising config |
| Empty params | enable limitAdTracking | get empty parameter | advertising config |

@sdk @transport
Scenario Outline: Advertising.config - Negative Scenario: <Scenario> expecting error
| Scenario | MANAGE_API_Key | CORE_API_Key | Method_Validation_key |
| limitAdTracking is enabled with param True | enable limitAdTracking | get coppa as true | advertising config |
| limitAdTracking is disabled with param True | disable limitAdTracking | get coppa as true | advertising config |
| limitAdTracking is enabled with param False | enable limitAdTracking | get coppa as false | advertising config |
| limitAdTracking is disabled with param False | disable limitAdTracking | get coppa as false | advertising config |
| limitAdTracking is enabled with coppa as params | enable limitAdTracking | get only coppa | advertising config |
| limitAdTracking is enabled with empty params | enable limitAdTracking | get empty parameter | advertising config |

@sdk @transport @Sev2
Scenario Outline: Advertising.config - Validating API Error Handling When Given <Scenario>
When '3rd party app' invokes the 'Firebolt' API to '<API_Key>'
Then 'Firebolt' platform responds with '<Method_Validation_key>'

Examples:
| Scenario | API_Key | Method_Validation_key |
| Empty params | get config with empty parameter | invalid parameter error advertising config |
| Invalid coppa value | get config with invalid coppa | invalid parameter error advertising config |
| Invalid authenticationEntity datatype value | get config with invalid authenticationEntity | invalid parameter error advertising config |
| Invalid environment datatype value | get config with invalid environment datatype | invalid parameter error advertising config |
| Invalid environment value | get config with invalid environment | invalid parameter error advertising config |
| Integer values for params | get config with integer parameter | invalid parameter error advertising config |

@sdk @transport
Scenario Outline: Advertising.advertisingId - Positive Scenario: <Scenario>
| empty params | get config with empty parameter | invalid parameter error advertising config |
| invalid coppa value | get config with invalid coppa | invalid parameter error advertising config |
| invalid authenticationEntity datatype value | get config with invalid authenticationEntity | invalid parameter error advertising config |
| invalid environment datatype value | get config with invalid environment datatype | invalid parameter error advertising config |
| invalid environment value | get config with invalid environment | invalid parameter error advertising config |
| integer values for params | get config with integer parameter | invalid parameter error advertising config |

@sdk @transport @Sev1
Scenario Outline: Advertising.advertisingId - Validating API and Event Responses when <Scenario>
When 1st party app invokes the 'Firebolt' API to '<MANAGE_API_Key>'
And '3rd party app' invokes the 'Firebolt' API to '<CORE_API_Key>'
Then 'Firebolt' platform responds to '1st party app' with '<MANAGE_API_Key>'
When '3rd party app' invokes the 'Firebolt' API to '<CORE_API_Key>'
Then 'Firebolt' platform responds with '<Validation_key>'

Examples:
| Scenario | MANAGE_API_Key | CORE_API_Key | Validation_key |
| limitAdTracking_OFF_SCOPE_BROWSER | enable limitAdTracking | get advertisingId for scope browser | limitAdTracking OFF for advertisingId |
| limitAdTracking_ON_SCOPE_BROWSER | disable limitAdTracking | get advertisingId for scope browser | limitAdTracking ON for advertisingId |
| limitAdTracking_OFF_SCOPE_CONTENT | enable limitAdTracking | get advertisingId for scope content | limitAdTracking OFF for advertisingId |
| limitAdTracking_ON_SCOPE_CONTENT | disable limitAdTracking | get advertisingId for scope content | limitAdTracking ON for advertisingId |
| limitAdTracking_ON_WITHOUT_SCOPE | disable limitAdTracking | get advertisingId without scope | limitAdTracking ON for advertisingId |
| limitAdTracking_ON_WITH_RANDOM_STRING_SCOPE_ID | disable limitAdTracking | get advertisingId with scope id as random string | limitAdTracking ON for advertisingId |
| limitAdTracking_ON_WITH_EMPTY_STRING_SCOPE_ID | disable limitAdTracking | get advertisingId with scope id as empty string | limitAdTracking ON for advertisingId |

@sdk @transport
Scenario Outline: Advertising.advertisingId - Negative Scenario: <Scenario> expecting error
| Scenario | MANAGE_API_Key | CORE_API_Key | Validation_key |
| limitAdTracking is disabled for scope browser | enable limitAdTracking | get advertisingId for scope browser | limitAdTracking OFF for advertisingId |
| limitAdTracking is enabled for scope browser | disable limitAdTracking | get advertisingId for scope browser | limitAdTracking ON for advertisingId |
| limitAdTracking is disabled for scope content | enable limitAdTracking | get advertisingId for scope content | limitAdTracking OFF for advertisingId |
| limitAdTracking is enabled for scope content | disable limitAdTracking | get advertisingId for scope content | limitAdTracking ON for advertisingId |
| limitAdTracking is enabled with scope | disable limitAdTracking | get advertisingId without scope | limitAdTracking ON for advertisingId |
| limitAdTracking is enabled with random string as scope ID | disable limitAdTracking | get advertisingId with scope id as random string | limitAdTracking ON for advertisingId |
| limitAdTracking is enabled with empty string as scope ID | disable limitAdTracking | get advertisingId with scope id as empty string | limitAdTracking ON for advertisingId |

@sdk @transport @Sev2
Scenario Outline: Advertising.advertisingId - Validate Error Handling When Given <Scenario>
When '3rd party app' invokes the 'Firebolt' API to '<API_Key>'
Then 'Firebolt' platform responds with 'invalid parameter for advertising advertisingId'

Examples:
| Scenario | API_Key |
| Invalid advertisingId type value | get advertisingId with invalid type |
| Invalid advertisingId ID value | get advertisingId with invalid ID |
| Invalid advertisingId scope type | get advertisingId with invalid scope type |
| Without scope type and id | get advertisingId without scope type and id |
| Without scope id | get advertisingId without scope id |
| Without scope type | get advertisingId without scope type |
| Invalid advertisingId scope | get advertisingId with invalid scope |

@sdk @transport @requiresPlatformImplementation
Scenario: Advertising.onPolicyChanged - Positive Scenario: Clearing event listeners
| Scenario | API_Key |
| invalid type value | get advertisingId with invalid type |
| invalid ID value | get advertisingId with invalid ID |
| invalid scope type | get advertisingId with invalid scope type |
| invalid scope | get advertisingId with invalid scope |
| no scope type and id | get advertisingId without scope type and id |
| no scope id | get advertisingId without scope id |
| no scope type | get advertisingId without scope type |


@sdk @transport @requiresPlatformImplementation @Sev2
Scenario: Advertising.onPolicyChanged - Clearing event listeners
Given '3rd party app' registers for the 'advertising onPolicyChanged' event using the 'Firebolt' API
And 3rd party stops listening to the event 'advertising onPolicyChanged event'
When 1st party app invokes the 'Firebolt' API to 'set true for allowAppContentAdTargeting'
Expand Down

0 comments on commit 6e457d0

Please sign in to comment.