Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: Updating Scenario names #244

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions cypress/TestCases/FireboltCertification/Account.feature
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Feature: Account
And 3rd party 'certification' app is launched

@sdk @transport @Sev0
Scenario Outline: Account.<Method> - Get and validate method response content
Scenario Outline: Account.<Method> - Validate API Method Response Content
When '3rd party app' invokes the 'Firebolt' API to '<API_Key>'
Then 'Firebolt' platform responds with '<Validation_key>'
Examples:
Expand All @@ -15,13 +15,13 @@ Feature: Account
| uid | account uid | fetch account UID |

@sdk @transport @notSupported @requiresPlatformImplementation @Sev2
Scenario Outline: Account.<Method> - <Scenario>
Scenario Outline: Account.<Method> - Validate API Method Response Content with <Scenario>
When '3rd party app' invokes the 'Firebolt' API to '<API_Key>'
Then 'Firebolt' platform responds with '<Validation_key>'

Examples:
| Scenario | Method | API_Key | Validation_key |
| Device not provisioned | id | fetch account ID when device is not provisioned | invalid parameter error for account id |
| Device not provisioned | uid | fetch account UID when device is not provisioned | invalid parameter error for account uid |
| Account retrieval attempt | id | fetch account ID when account is not provisioned | invalid parameter error for account id |
| Account retrieval attempt | uid | fetch account UID when account is not provisioned | invalid parameter error for account uid |
| device not provisioned | id | fetch account ID when device is not provisioned | invalid parameter error for account id |
| device not provisioned | uid | fetch account UID when device is not provisioned | invalid parameter error for account uid |
| account retrieval attempt | id | fetch account ID when account is not provisioned | invalid parameter error for account id |
| account retrieval attempt | uid | fetch account UID when account is not provisioned | invalid parameter error for account uid |
92 changes: 56 additions & 36 deletions cypress/TestCases/FireboltCertification/Device.feature
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,32 @@ Feature: Device
Given the environment has been set up for 'Device' tests
And 3rd party 'certification' app is launched

@sdk @transport
Scenario Outline:Device.<Method> - Positive Scenario: <Scenario>
@sdk @transport @Sev0
Scenario Outline:Device.<Method> - Validate API Method Response Content
When '3rd party app' invokes the 'Firebolt' API to '<API_Key>'
Then 'Firebolt' platform responds with '<Validation_Key>'

Examples:
| Scenario | Method | Validation_Key | API_Key |
| Validate Device id | id | expected device id | fetch device id |
| Validate Device distributor | distributor | expected device distributor | fetch device distributor |
| Validate Device uid | uid | expected device uid | fetch device uid |
| Validate Device type | type | expected device type | fetch device type |
| Validate Device model | model | expected device model | fetch device model |
| Validate Device sku | sku | expected device sku | fetch device sku |
| Validate Device make | make | expected device make | fetch device make |
| Method | Validation_Key | API_Key |
| id | expected device id | fetch device id |
| distributor | expected device distributor | fetch device distributor |
| type | expected device type | fetch device type |
| platform | expected device platform | fetch device platform |

@sdk @transport
Scenario: Device.platform - Positive Scenario: Validate device platform
When '3rd party app' invokes the 'Firebolt' API to 'fetch device platform'
Then 'Firebolt' platform responds with 'expected device platform'
@sdk @transport @Sev1
Scenario Outline:Device.<Method> - Validate API Method Response Content
When '3rd party app' invokes the 'Firebolt' API to '<API_Key>'
Then 'Firebolt' platform responds with '<Validation_Key>'

Examples:
| Method | Validation_Key | API_Key |
| uid | expected device uid | fetch device uid |
| model | expected device model | fetch device model |
| sku | expected device sku | fetch device sku |
| make | expected device make | fetch device make |

@sdk @transport
Scenario: Device.name - Positive Scenario: Validate device name change
@sdk @transport @Sev2
Scenario: Device.name - Validating API and Event Responses for name change
Given we test the 'DEVICE_NAME_CORE' getters and setters 'setName' to 'Living hall'
And '1st party app' registers for the 'Firebolt' event
When 1st party app invokes the 'Firebolt' API to set value
Expand All @@ -35,41 +39,57 @@ Feature: Device
Then 'Firebolt' platform responds to '1st party app' get API
And 'Firebolt' platform triggers '1st party app' event

@regression @sdk @transport
Scenario Outline: Device.<Method> - Positive Scenario: <Scenario>
@regression @sdk @transport @Sev0
Scenario Outline: Device.<Method> - Validate API Method Response Content
When '3rd party app' invokes the 'Firebolt' API to '<API_Key>'
Then 'Firebolt' platform responds with '<validation_key>'

Examples:
| Method | API_Key | validation_key |
| hdcp | fetch hdcp | expected hdcp |
| hdr | fetch hdr | expected hdr |
| screenResolution | fetch screenResolution | expected screenResolution |
| videoResolution | fetch videoResolution | expected videoResolution |

@regression @sdk @transport @Sev1
Scenario Outline: Device.<Method> - Validate API Method Response Content
When '3rd party app' invokes the 'Firebolt' API to '<API_Key>'
Then 'Firebolt' platform responds with '<validation_key>'

Examples:
| Method | API_Key | validation_key |
| audio | fetch audio | expected audio |

@regression @sdk @transport @Sev2
Scenario Outline: Device.<Method> - Validate API Method Response Content
When '3rd party app' invokes the 'Firebolt' API to '<API_Key>'
Then 'Firebolt' platform responds with '<validation_key>'

Examples:
| Scenario | Method | API_Key | validation_key |
| Validate device version | version | fetch device version | expected device version |
| Validate hdcp | hdcp | fetch hdcp | expected hdcp |
| Validate hdr | hdr | fetch hdr | expected hdr |
| Validate screenResolution | screenResolution | fetch screenResolution | expected screenResolution |
| Validate videoResolution | videoResolution | fetch videoResolution | expected videoResolution |
| Validate audio | audio | fetch audio | expected audio |
| Method | API_Key | validation_key |
| version | fetch device version | expected device version |

@regression @sdk @requiresPlatformImplementation
Scenario: Device.onNameChanged - Positive Scenario: Clearing event listeners
@regression @sdk @requiresPlatformImplementation @Sev2
Scenario: Device.onNameChanged - Clearing event listeners
Given '3rd party app' registers for the 'device onNameChanged' event using the 'Firebolt' API
And 3rd party stops listening to the event 'device onNameChanged event'
When 1st party app invokes the 'Firebolt' API to 'set device name to kitchen'
Then 'Firebolt' platform responds to '1st party app' for 'set device name to kitchen'
And 'Firebolt' platform does not trigger event for 'onDeviceNameChanged'

@sdk @transport @requiresPlatformImplementation @notSupported
Scenario Outline: Device.network - Positive Scenario: <Scenario>
@sdk @transport @requiresPlatformImplementation @notSupported @Sev2
Scenario Outline: Device.onNetworkChanged - Get and validate state of <Scenario>
Given '3rd party app' registers for the 'device onNetworkChanged' event using the 'Firebolt' API
When '3rd party app' invokes the 'Firebolt' API to 'fetch device network'
Then 'Firebolt' platform responds with '<Method_Validation_Key>'
And User triggers event with value as '<Event_Params>'
Then 'Firebolt' platform triggers event '<Event_Validation_Key>'

Examples:
| Scenario | Method_Validation_Key | Event_Validation_Key | Event_Params |
| Validate network_wifi_connected | device network as wifi connected | onNetworkChanged with wifi connected | onNetworkChanged events with wifi connected |
| Validate network_wifi_disconnected | device network as wifi disconnected | onNetworkChanged with wifi disconnected | onNetworkChanged events with wifi disconnected |
| Validate network_Ethernet_connected | device network as ethernet connected | onNetworkChanged with ethernet connected | onNetworkChanged events with ethernet connected |
| Validate network_Ethernet_disconnected | device network as ethernet disconnected | onNetworkChanged with ethernet disconnected | onNetworkChanged events with ethernet disconnected |
| Validate network_Hybrid_connected | device network as hybrid connected | onNetworkChanged with hybrid connected | onNetworkChanged events with hybrid connected |
| Validate network_Hybrid_disconnected | device network as hybrid disconnected | onNetworkChanged with hybrid disconnected | onNetworkChanged events with hybrid disconnected |
| Scenario | Method_Validation_Key | Event_Validation_Key | Event_Params |
| Network_wifi_connected | device network as wifi connected | onNetworkChanged with wifi connected | onNetworkChanged events with wifi connected |
| Network_wifi_disconnected | device network as wifi disconnected | onNetworkChanged with wifi disconnected | onNetworkChanged events with wifi disconnected |
| Network_Ethernet_connected | device network as ethernet connected | onNetworkChanged with ethernet connected | onNetworkChanged events with ethernet connected |
| Network_Ethernet_disconnected | device network as ethernet disconnected | onNetworkChanged with ethernet disconnected | onNetworkChanged events with ethernet disconnected |
| Network_Hybrid_connected | device network as hybrid connected | onNetworkChanged with hybrid connected | onNetworkChanged events with hybrid connected |
| Network_Hybrid_disconnected | device network as hybrid disconnected | onNetworkChanged with hybrid disconnected | onNetworkChanged events with hybrid disconnected |
Loading