# Admin Panel - Sprint 17
> End to End Testing
> Sinbad Store List
## Sinbad Store List Test Scenarios
#### Test Scenario 1
```gherkin
Scenario: As an Admin, I want to see All Sinbad Stores List
Given the user login to Admin Panel
And the user is on Admin Panel Homepage
When the user clicks 'Store' section
And the user clicks 'Sinbad Store List' section
Then show list of All Sinbad Stores
```
#### Test Scenario 2
```gherkin
Scenario: As an Admin, I want to see list of Guest Stores List
Given the user login to Admin Panel
And the user is on Sinbad Store List Page
When the user clicks 'Guest' tab section
Then show list of All Sinbad Stores with 'Guest' status
```
#### Test Scenario 3
```gherkin
Scenario: As an Admin, I want to approve a Store's status
Given the user login to Admin Panel
And the user is on Sinbad Store List 'Guest' Section Page
When the user clicks 'Action' button section
And the user clicks 'Approve' dropdown menu
Then store's status changed into 'Verified'
```
#### Test Scenario 4
```gherkin
Scenario: As an Admin, I want to reject a Store's status
Given the user login to Admin Panel
And the user is on Sinbad Store List 'Guest' Section Page
When the user clicks 'Action' button section
And the user clicks 'Reject' dropdown menu
Then store's status changed into 'Rejected'
```
#### Test Scenario 5
```gherkin
Scenario: As an Admin, I want to mass approve store's status
Given the user login to Admin panel
And the user is on Sinbad Store List Page
When the user clicks checkboxes for multiple stores
And the user clicks 'Action' button
And the user clicks 'Approve' dropdown menu
Then choosen stores status changed into 'Verified'
```
#### Test Scenario 6
```gherkin
Scenario: As an Admin, I should be able to see Pop-up to input reason of rejection
Given the user login to Admin panel
And the user is on Sinbad Store List Page
When the user clicks checkboxes for multiple stores
And the user clicks 'Action' button
And the user clicks 'Reject' dropdown menu
Then show pop-up to input reason of rejection
```
#### Test Scenario 7
```gherkin
Scenario: As an Admin, I want to mass reject a Store's status
Given the user login to Admin panel
And the user is on Sinbad Store List Page
When the user clicks checkboxes for multiple stores
And the user clicks 'Action' button
And the user clicks 'Reject' dropdown menu
And the user choose the rejected element(s)
And the user input reason of rejection in 'Alasan' field
And the user clicks 'Submit'
Then choosen stores status changed into 'Rejected'
```
#### Test Scenario 8
```gherkin
Scenario: As an Admin, I should be able to see newly registered Store via Red in Guest Store List Section
Given the user login to Admin Panel
And a store just registered from Sinbad Red
And the user is on Admin Panel Homepage
When the user clicks 'Store' section
And the user clicks 'Sinbad Store List' section
Then show newly registered Store at top of the Store List
```
#### Test Scenario 9
```gherkin
Scenario: As an Admin, I should be able to see approved Store in Verified Store List Section
Given the user login to Admin Panel
And the user is on Sinbad Store List Page
When the user clicks 'Verified' tab section
Then show list of approved store
```
#### Test Scenario 10
```gherkin
Scenario: As an Admin, I should be able to see rejected Store in Rejected Store List Section
Given the user login to Admin Panel
And the user is on Sinbad Store List Page
When the user clicks 'Rejected' tab section
Then show list of rejected store
```
#### Test Scenario 11
```gherkin
Scenario: As an Admin, I should be able to see upload photos by store
Given the user login to Admin Panel
And the user is on Sinbad Store List Page
When the user clicks 'View' below 'Photo' section from Store <A>
Then show photos uploaded by Store <A>
```
> Supplier Store List
## Supplier Store Test Scenarios
#### Test Scenario 1
```gherkin
Scenario: As an Admin, I want to see All Supplier Stores List
Given the user login to Admin Panel
And the user is on Admin Panel Homepage
When the user clicks 'Store' section
And the user clicks 'Supplier Store List' section
Then show list of All Sinbad Stores
```
#### Test Scenario 2
```gherkin
Scenario: As an Admin, I want to see list of Guest Stores List
Given the user login to Admin Panel
And the user is on Supplier Store List Page
When the user clicks 'Guest' tab section
Then show list of All Supplier Stores with 'Guest' status
```
#### Test Scenario 3
```gherkin
Scenario: As an Admin, I want to approve a Store's status
Given the user login to Admin Panel
And the user is on Supplier Store List 'Guest' Section Page
When the user clicks 'Action' button section
And the user clicks 'Approve' dropdown menu
Then store's status changed into 'Verified'
```
#### Test Scenario 4
```gherkin
Scenario: As an Admin, I want to reject a Store's status
Given the user login to Admin Panel
And the user is on Supplier Store List 'Guest' Section Page
When the user clicks 'Action' button section
And the user clicks 'Reject' dropdown menu
Then store's status changed into 'Rejected'
```
#### Test Scenario 5
```gherkin
Scenario: As an Admin, I want to mass approve store's status
Given the user login to Admin panel
And the user is on Supplier Store List Page
When the user clicks checkboxes for multiple stores
And the user clicks 'Action' button
And the user clicks 'Approve' dropdown menu
Then choosen stores status changed into 'Verified'
```
#### Test Scenario 6
```gherkin
Scenario: As an Admin, I should be able to see Pop-up to input reason of rejection
Given the user login to Admin panel
And the user is on Supplier Store List Page
When the user clicks checkboxes for multiple stores
And the user clicks 'Action' button
And the user clicks 'Reject' dropdown menu
Then show pop-up to input reason of rejection
```
#### Test Scenario 7
```gherkin
Scenario: As an Admin, I want to mass reject a Store's status
Given the user login to Admin panel
And the user is on Supplier Store List Page
When the user clicks checkboxes for multiple stores
And the user clicks 'Action' button
And the user clicks 'Reject' dropdown menu
And the user choose the rejected element(s)
And the user input reason of rejection in 'Alasan' field
And the user clicks 'Submit'
Then choosen stores status changed into 'Rejected'
```
#### Test Scenario 8
```gherkin
Scenario: As an Admin, I should be able to see new Supplier Store via order from Red in Guest Store List Section
Given the user login to Admin Panel
And a store logged in Sinbad Red
And the store made order to Supplier
And the user is on Admin Panel Homepage
When the user clicks 'Store' section
And the user clicks 'Supplier Store List' section
Then show newly registered Store at top of the Store List
```
#### Test Scenario 9
```gherkin
Scenario: As an Admin, I should be able to see approved Store in Verified Store List Section
Given the user login to Admin Panel
And the user is on Supplier Store List Page
When the user clicks 'Verified' tab section
Then show list of approved store
```
#### Test Scenario 10
```gherkin
Scenario: As an Admin, I should be able to see rejected Store in Rejected Store List Section
Given the user login to Admin Panel
And the user is on Supplier Store List Page
When the user clicks 'Rejected' tab section
Then show list of rejected store
```
>Store Validation Status
## Store Validation Test Scenarios
#### Test Scenario 1
```gherkin
Scenario: As an Admin, I should be able to see new store in Supplier Store List from Red
Given the user login to Admin Panel
And store login to Sinbad Red
And store have Guest Status
When store made an order to supplier <A>
Then add store to supplier store list with 'Guest' status
```
#### Test Scenario 2
```gherkin
Scenario Outline: As an Admin, I should be able to see store status changed due to update data from Red
Given the user login to Admin Panel
And store login to Sinbad Red
And store have <currentStatusSinbad>
And store have <currentStatusSupplier>
When store made update data <infoType> in Red
Then store Sinbad status changed to <changedStatusSinbad>
And store Supplier status changed to <changedStatusSupplier>
Examples:
| currentStatusSinbad | currentStatusSupplier | infoType | changedStatusSinbad | changedStatusSupplier |
| Guest | Guest | non-address | Updating | Updating |
| Guest | Guest | address | Pending | Pending |
| Verified | Guest | non-address | Updating | Updating |
| Verified | Guest | address | Pending | Pending |
| Verified | Verified | non-address | Updating | Updating |
| Verified | Verified | address | Pending | Pending |
| Verified | Rejected | non-address | Updating | Updating |
| Verified | Rejected | address | Pending | Pending |
```
#### Test Scenario 3
```gherkin
Scenario Outline: As an Admin, I should be able to see store status changed due to update data from White
Given the user login to Admin Panel
And sales login to Sinbad White
And sales store have <currentStatusSupplier>
And sales store have any Sinbad status
When sales store made update data <infoType> in White
Then store Supplier status changed to <changedStatusSupplier>
And store Sinbad status doesnt change
Examples:
| currentStatusSupplier | infoType | changedStatusSupplier |
| Guest | non-address | Guest |
| Guest | address | Guest |
| Verified | non-address | Updating |
| Verified | address | Pending |
| Rejected | non-address | Updating |
| Rejected | address | Pending |
```
#### Test Scenario 4
```gherkin
Scenario Outline: As an Admin, I should be able to see store status changed due to update data from Admin Panel
Given the user login to Admin Panel
And store have <currentStatusSinbad>
And store have any supplier status
When the user do <actionType> for store
Then store Sinbad status changed to <changedStatusSinbad>
And store Supplier status doesnt change
Examples:
| currentStatusSinbad | actionType | changedStatusSinbad |
| Guest | verify | Verified |
| Guest | reject | Rejected |
| Verified | change non-address | Verified |
| Verified | change address | Verified |
| Rejected | change non-address | Rejected |
| Rejected | change address | Rejected |
```
#### Test Scenario 5
```gherkin
Scenario Outline: As an Admin, I should be able to see store status changed due to update data from SSC
Given the user login to Admin Panel
And supplier login to SSC
And store have <currentStatusSupplier>
And store have any sinbad status
When supplier do <actionType> for store
Then store Supplier status changed to <changedStatusSupplier>
And store Sinbad status doesnt change
Examples:
| currentStatusSupplier | actionType | changedStatusSupplier |
| Guest | verify | Verified |
| Guest | reject | Rejected |
| Updating | verify | Verified |
| Updating | reject | Rejected |
| Pending | verify | Verified |
| Pending | reject | Rejected |
| Verified | change non-address | Updating |
| Verified | change address | Pending |
| Rejected | change non-address | Updating |
| Rejected | change address | Pending |
```
> API Side Testing
## API Side Test Scenarios
#### Test Scenario 1
```gherkin
Scenario: As an Admin, I want to see All Stores List
Given the user login to Admin Panel
When
And
Then
```
#### Test Scenario 2
```gherkin
Scenario: As an Admin, I want to see list of Guest Stores List
Given the user login to Admin Panel
When
And
Then
```
#### Test Scenario 3
```gherkin
Scenario: As an Admin, I want to approve a Store's status
Given the user login to Admin Panel
When
And
Then
```
#### Test Scenario 4
```gherkin
Scenario: As an Admin, I want to reject a Store's status
Given the user login to Admin Panel
When
And
Then
```
#### Test Scenario 5
```gherkin
Scenario: As an Admin, I want to mass approve store's status
Given the user login to Admin Panel
When
And
Then
```
#### Test Scenario 6
```gherkin
Scenario: As an Admin, I should be able to see Pop-up to input reason of rejection
Given the user login to Admin Panel
When
And
Then
```
#### Test Scenario 7
```gherkin
Scenario: As an Admin, I want to mass reject a Store's status
Given the user login to Admin Panel
When
And
Then
```
#### Test Scenario 8
```gherkin
Scenario: As an Admin, I should be able to see newly registered Store via Red in Guest Store List Section
Given the user login to Admin Panel
When
And
Then
```
#### Test Scenario 9
```gherkin
Scenario: As an Admin, I should be able to see approved Store in Verified Store List Section
Given the user login to Admin Panel
When
And
Then
```
#### Test Scenario 10
```gherkin
Scenario: As an Admin, I should be able to see rejected Store in Rejected Store List Section
Given the user login to Admin Panel
When
And
Then
```
#### Test Scenario 11
```gherkin
Scenario: As an Admin, I should be able to see upload photos by store
Given the user login to Admin Panel
When
And
Then
```
###### tags: `Sprint 17` `Admin Panel` `Sinbad`