# SCM-585 - [Backend] Create Adjustment Product Price for Specific Segmentations
## Test Scenarios
### Get Catalogue List
#### Test Scenario 1
```gherkin
Scenario: As an Admin, I want to hit get catalogue segmentation list
Given the user has logged in to SSC
When the user input correct params
And the user hit get catalogue segmentation list
Then show RC 200 OK
And show exisiting catalogue segmentation
```
#### Test Scenario 2
```gherkin
Scenario Outline: As an Admin, I should get error response for wrong supplierId params
Given the user has logged in to SSC
When the user input <wrongType> for supplierId params
And the user hit get catalogue segmentation list
Then show error response message
Examples:
| wrongType |
| ------------ |
| blank |
| alphabet |
| non-existent |
```
#### Test Scenario 3
```gherkin
Scenario Outline: As an Admin, I should get error response for wrong catalogueId params
Given the user has logged in to SSC
When the user input <wrongType> for catalogueId params
And the user hit get catalogue segmentation list
Then show error response message
Examples:
| wrongType |
| ------------ |
| blank |
| alphabet |
| non-existent |
````
### Update Price Segmentation Setting
#### Test Scenario 4
```gherkin
Scenario Outline: As an Admin, I should get error response with wrong price body field
Given the user has logged in to SSC
When the user input <wrongType> for price body field
And the user hit update price catalogue segmentation
Then show error response message
Examples:
| wrongType |
| --------- |
| alphabet |
| blank |
````
#### Test Scenario 5
```gherkin
Scenario Outline: As an Admin, I should get error response with wrong catalogueId body field
Given the user has logged in to SSC
When the user input <wrongType> for catalogueId body field
And the user hit update price catalogue segmentation
Then show error response message
Examples:
| wrongType |
| ------------ |
| alphabet |
| blank |
| non-existent |
````
#### Test Scenario 6
```gherkin
Scenario: As an Admin, I should get error response with wrong segmentationId body field
Given the user has logged in to SSC
When the user input <wrongType> for segmentationId body field
And the user hit update price catalogue segmentation
Then show error response message
Examples:
| wrongType |
| ------------ |
| blank |
| non-existent |
````
#### Test Scenario 7
```gherkin
Scenario: As an Admin, I should get error response with wrong segmentedCatalogueId body field
Given the user has logged in to SSC
When the user input <wrongType> for segmentedCatalogueId body field
And the user hit update price catalogue segmentation
Then show error response message
Examples:
| wrongType |
| ------------ |
| blank |
| non-existent |
````
#### Test Scenario 8
```gherkin
Scenario: As an Admin, I should get error response with wrong warehouseId body field
Given the user has logged in to SSC
When the user input <wrongType> for warehouseId body field
And the user hit update price catalogue segmentation
Then show error response message
Examples:
| wrongType |
| ------------ |
| alphabet |
| blank |
| non-existent |
````
#### Test Scenario 9
```gherkin
Scenario Outline: As an Admin, I should get error response with wrong segmentations body field
Given the user has logged in to SSC
When the user input <wrongType> for segmentations body field
And the user hit update price catalogue segmentation
Then show error response message
Examples:
| wrongType |
| ------------ |
| alphabet |
| blank |
| non-existent |
````
#### Test Scenario 10
```gherkin
Scenario: As an Admin, I should get error response with <1 filled segmentations body field
Given the user has logged in to SSC
When the user input doesn't input any segmentations body field
And the user hit update price catalogue segmentation
Then show error response message
````
#### Test Scenario 11
```gherkin
Scenario: As an Admin, I want to update price with existing segmentation combo & SKU
Given the user has logged in to SSC
And segmentation combination & SKU <A> already exist
When the user input body with segmentation combination & SKU <A>
And the user input new price
And the user hit update price setting endpoint
Then existing segmentation combination & SKU <A>'s price updated with new price
````
#### Test Scenario 12
```gherkin
Scenario: As an Admin, I want to update price with existing segmentation combo & but non-existent SKU
Given the user has logged in to SSC
And segmentation combination <A> already exist
And SKU <B> isn't assigned to segmentation combination <A>
When the user input body with segmentation combinatino <A>
And the user input SKU <B>
And the user input new price
And the user hit update price setting endpoint
Then create new row inside the existing catalogue-segmentation documents
And add new price in the new row
````
#### Test Scenario 13
```gherkin
Scenario: As an Admin, I want to update price with non-existent segmentation combo & SKU
Given the user has logged in to SSC
And segmentation combination <A> doesn't exist
And SKU <B> isn't assigned to any segmentation
When the user input body with segmentation combinatino <A>
And the user input SKU <B>
And the user input new price
And the user hit update price setting endpoint
Then create new row inside the current catalogue-segmentation documents
And add new price in the new row
````
###### tags: `Sprint 25` `Ecommerce 1` `SSC`