# EC1-410 - Edit / Unassigment SKU from Catalogue Segmentation
## Test Scenarios
#### Test Scenario 1
```gherkin
Scenario: As an Admin, I shouldn't be able to change segmentation status with blank status field
Given the user has logged in as Admin
When the user input blank value for status object field
And the user hit patch catalogue segmentation request
Then show error message
```
#### Test Scenario 2
```gherkin
Scenario: As an Admin, I shouldn't be able to change segmentation status with wrong status field
Given the user has logged in as Admin
When the user input wrong value for status object field
And the user hit patch catalogue segmentation request
Then show error message
```
#### Test Scenario 3
```gherkin
Scenario: As an Admin, I want to change segmentation status
Given the user has logged in as Admin
When the user input status <A> for segmentation <A>
And the user hit patch catalogue segmentation
Then successfully change segmentation <A> status to status <A>
```
#### Test Scenario 4
```gherkin
Scenario Outline: As an Admin, I shouldn't be able to unassign with wrong segmentation Id param
Given the user has logged in as Admin
When the user input <incorrectType> for segmentationId param
And the user hit patch catalogue segmentation
Then show error message
Examples:
| incorrectType |
| --------------- |
| blank |
| non-existent |
| incorrectFormat |
```
#### Test Scenario 5
```gherkin
Scenario: As an Admin, I shouldn't be able to unassign with unaffiliated catalogue segmentation Id with segmentation Id
Given the user has logged in as Admin
And catalogue segmentationId <A> doesnt have affiliation with segmentationId <A>
When the user input segmentationId <A> as param
And the user input catalogue segmentationId <A> as body request
And the user hit patch catalogue segmentation request
Then show error message
```
#### Test Scenario 6
```gherkin
Scenario: As an Admin, I shouldn't be able to unassign with blank segmentationId object value
Given the user has logged in as Admin
When the user input blank for segmentationId object value
And the user hit patch catalogue segmentation request
Then show error message
```
#### Test Scenario 7
```gherkin
Scenario: As an Admin, I shouldn't be able to unassign with non-existent segmentationId object value
Given the user has logged in as Admin
And segmentationId <A> doesn't exist
When the user input segmentationID <A> as body request
And the user hit patch catalogue segmentation request
Then show error message
```
#### Test Scenario 8
```gherkin
Scenario: As an Admin, I want to unassign a catalogue segmentation from segmentation
Given the user has logged in as Admin
And catalogue segmentationId <A> affiliated with segmentation <A>
When the user input segmentation <A> as param
And the user input catalogue segmentation <A> as body request
And the user hit patch catalogue segmentation request
Then successfully unassign catalogue segmentation <A> from segmentation <A>
```
#### Test Scenario 9
```gherkin
Scenario: As an Admin, I want to mass unassign catalogue segmentations from segmentation
Given the user has logged in as Admin
And catalogue segmentationId <A>.<B> are affiliated with segmentation <A>
When the user input segmentation <A> as param
And the user input catalogue segmentation <A>,<B> as body request
And the user hit patch catalogue segmentation request
Then successfully unassign catalogue segmentation <A>,<B> from segmentation <A>
```
#### Test Scenario 10
```gherkin
Scenario: As an Admin, I want to assign a catalogue to segmentation
Given the user has logged in as Admin
When the user input segmentationId <A> as param
And the user input catalogueId <A> as body request
And the user hit patch catalogue segmentation
Then successfully assign catalogueId <A> to segmentationId <A>
And create new row on warehouse_catalogue_segmentation
```
#### Test Scenario 11
```gherkin
Scenario: As an Admin, I want to mass assign catalogue segmentations from segmentation
Given the user has logged in as Admin
When the user input segmentationId <A> as param
And the user input catalogueID <A>,<B> as body request
And the user hit patch catalogue segmentation
Then successfully assign catalogue ID <A>,<B> to segmentationId <A>
And create new rows on warehouse_catalogue_segmentation
```
###### tags: `Sprint 24` `Ecommerce 1` `SSC`