---
# System prepended metadata

title: EC1-352 - Cross Selling promo add / create
tags: [Sprint 23, SSC, Ecommerce 1]

---

# EC1-352 - Cross Selling promo add / create

> https://sinbadkp.atlassian.net/browse/EC1-352

## Functional Test Scenarios
#### Test Scenario 1
```gherkin
Scenario: As an Admin, I should be able to see 'Cross Selling Promo' option menu
    Given the user has logged in as Admin
    When the user clicks 'Promo' tab menu
    Then show 'Cross Selling Promo' sub-menu
```

#### Test Scenario 2
```gherkin
Scenario: As an Admin, I want to access Cross Selling Promo Page
    Given the user has logged in as Admin
    When the user clicks 'Promo' tab menu
        And the user clicks 'Cross Selling Promo'
    Then redirects user to Cross Selling Promo Page
```

#### Test Scenario 3
```gherkin
Scenario: As an Admin, I want to access Add Cross Selling Promo Page
    Given the user has logged in as Admin
        And the user is on Cross Selling Promo Page
    When the user clicks 'Add' button
    Then redirects user to Add Cross Selling Promo Page
```

#### Test Scenario 4
```gherkin
Scenario Outline: As an Admin, I shouldn't be able to create with blank mandatory fields
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Promo Page
    When the user input <inputField> with blank
    Then show 'Save' button as disabled button
    Examples:
    | inputField        |
    | promoAllocation   |
    | promoSellerID     |
    | promoName         |
    | platform          |
    | activeDate        |
    | endDate           |
    | fakturGroup       |
    | triggerGroup      |
    | chosenSKU         |
    | relationGroup     |
    | conditionBase     |
    | benefitTypeAmount |
    | segmentationField |
```

#### Test Scenario 5
```gherkin
Scenario Outline: As an Admin, I should see error message with wrong format fields
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Promo Page
    When the user input <wrongInput> to <inputField>
        And the user clicks 'Save' button
    Then the user failed to create Cross Selling Promo
        And show error message
    Examples:
    | wrongInput  | inputField        |
    | ----------- | ----------------- |
    | varchar >25 | promoSellerID     |
    | varchar >25 | promoName         |
    | alphabet    | maxRedemption     |
    | alphabet    | qtyGroup          |
    | alphabet    | orderValueGroup   |
    | alphabet    | qtyBenefit        |
    | alphabet    | orderValueBenefit |
```

#### Test Scenario 6
```gherkin
Scenario: As an Admin, I should be able to see Platform dropdown options
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Promo Page
    When the user clicks 'Platform' field
    Then show dropdown options for All, Sinbad Red, and Sinbad White
```

#### Test Scenario 7
```gherkin
Scenario: As an Admin, I should be able to see currency input format in Max Promo Redemption based on Rp
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Promo Page
    When the user choose Max Promo Redemption based on Rp
        And the user input value in Max Promo Redemption field
    Then show value inputted as currency format (Rp)
```

#### Test Scenario 8
```gherkin
Scenario: As an Admin, I should be able to see Qty field when choosing Qty base
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Promo Page
    When the user choose Qty as base for group 1
    Then show Qty field in Group 1 input section
```

#### Test Scenario 9
```gherkin
Scenario: As an Admin, I should be able to see Order Value field when choosing Order Value base
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Promo Page
    When the user choose Order Value as base for group 1
    Then show Order Value field in Group 1 input section
```

#### Test Scenario 10
```gherkin
Scenario: As an Admin, I should be able to see Faktur Options dropdown
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Promo Page
    When the user clicks 'Faktur' field
    Then show Faktur options list
```

#### Test Scenario 11
```gherkin
Scenario: As an Admin, I should be able to choose SKU in Chosen SKU field
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Promo Page
    When the user clicks 'SKU' field
        And the user choose SKU <A>
    Then show SKU <A> in Chosen SKU Field
```

#### Test Scenario 12
```gherkin
Scenario: As an Admin, I shouldn't be able to choose more than 4 SKU in 1 Group
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Promo Page
        And the user has chosen 4 SKU in Group 1
    When the user choose a SKU
    Then the user failed to choose the last SKU
        And show warning error message
```

#### Test Scenario 13
```gherkin
Scenario: As an Admin, I shouldn't be able to choose >1 SKU in group 2 if group 1 has chosen 4 SKU(s) (max combined SKU = 5)
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Page
        And the user has chosen 4 SKU in Group 1
    When the user clicks 'SKU' in Group 2 Field
        And the user choose 2 SKUs
    Then the user failed to add SKUs
        And show warning error message
```

#### Test Scenario 14
```gherkin
Scenario: As an Admin, I should be able to see Logic options dropdown
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Page
    When the user clicks 'Logic' field
    Then show Logic options list
```

#### Test Scenario 15
```gherkin
Scenario: As an Admin, I should be able to choose a Logic option
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Page
    When the user clicks 'Logic' field
        And the user clicks 'AND'
    Then show 'AND' as value for logic field
```

#### Test Scenario 16
```gherkin
Scenario Outline: As an Admin, I should be able to see field in Benefit section based on Benefit Type
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Page
    When the user clicks <benefitType>
    Then show <fieldSection>
    Examples:
    | benefitType | fieldSection         |
    | ----------- | -------------------- |
    | Qty         | bonusSku,bonusQty    |
    | Rp          | orderValue           |
    | %           | rebateValue,maxValue |
```

#### Test Scenario 17
```gherkin
Scenario Outline: As an Admin, I should be able to see field in Segmentation section based on Segmentation Type
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Page
    When the user choose <segmentationType>
    Then show <segmentSection>
    Examples:
    | segmentationType | segmentSection |
    | ---------------- | -------------- |
    | directStore      | directStore    |
    | otherSegment     | otherSegment   |
```

#### Test Scenario 18
```gherkin
Scenario: As an Admin, I want to choose a store for direct store segmentation
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Page
        And the user has filled all the fields
    When the user clicks 'Direct Store' in Segmentation Section
        And the user choose store <A>
    Then store <A> chosen as direct store segmentation
```

#### Test Scenario 19
```gherkin
Scenario: As an Admin, I want to choose a warehouse for warehouse segmentation
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Page
        And the user has filled all the fields
    When the user clicks 'Other' in Segmentation Section
        And the user choose warehouse <A> in warehouse field
    Then warehouse <A> chosen as warehouse segmentation segmentation
```

#### Test Scenario 20
```gherkin
Scenario: As an Admin, I want to create a cross selling promo
    Given the user has logged in as Admin
        And the user is on Add Cross Selling Page
        And the user has filled all the fields
    When the user clicks 'Save'
    Then the user successfully created cross selling promo
        And show pop-up notification for success message
```

#### Test Scenario 21
```gherkin
Scenario: As an Admin, I should be able to see changed `is_bundle` field in catalogue DB
    Given the user has logged in as Admin
        And the user has created cross selling promo <A>
        And catalogue <A> if affiliated to cross selling promo <A>
    When the user checks DB for catalogues table
    Then show catalogue <A>'s `is_bundle` field with `true` value
```

###### tags: `Sprint 23` `SSC` `Ecommerce 1`