«

Tags: @AUTOMATED, @TNK-12741

GET /api/M26/vouchers -- Danh sách voucher chủ phường tặng cho user

  • Trả về danh sách voucher mà chủ phường đã tặng cho user
  • Khi user rời phường thì voucher được tặng cho user đó không bị xóa đi và vẫn giữ nguyên các thông tin
  • Header: X-Tenant Authorization
  • Tags: @AUTOMATED, @TNK-12741

    Trả về 400 khi call api lấy danh sách voucher chủ phường tặng cho user nhưng không gửi lên X-Tenant

    • Given Có token của tài khoản "member1"
    • When Gửi request "GET" đến "/M26/vouchers"
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "Bad Request"
      }
  • Tags: @AUTOMATED, @TNK-12741

    Trả về status code 200 và response rỗng khi call api lấy danh sách voucher chủ phường tặng cho user nhưng gửi lên thông tin X-Tenant không hợp lệ

    • Given Có token của tài khoản "member1"
    • When Request có header là
      X-Tenant<tenant>
    • And Gửi request "GET" đến "/M26/vouchers"
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      []

    Examples:

    tenant
    tenantBatKy
  • Tags: @AUTOMATED, @TNK-12741

    Trả về 401 khi call api lấy danh sách voucher chủ phường tặng cho user nhưng gửi lên token không hợp lệ

    • Given Token đã hết hạn
    • When Request có header là
      X-Tenantm26
    • And Gửi request "GET" đến "/M26/vouchers"
    • Then Tôi nhận được response có HTTP Status 401
  • Tags: @AUTOMATED, @TNK-12741

    Trả về 400 khi call api lấy danh sách voucher được tặng nhưng không gửi lên token

    • When Request có header là
      X-Tenantm26
    • And Gửi request "GET" đến "/M26/vouchers"
    • Then Tôi nhận được response có HTTP Status 401
  • Tags: @AUTOMATED, @TNK-12741

    Trả về status code 200 và response rỗng khi user chưa được chủ phường tặng cho voucher nào

    • Given Tài khoản "ownerclan20" đã tạo phường với thông tin
      codenamedescriptionmember
      clan_01AutoTestCall APImember1
    • And Tài khoản "member1" chưa được chủ phường tặng cho voucher nào
    • And Có token của tài khoản "member1"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "GET" đến "/M26/vouchers"
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      []
  • Tags: @AUTOMATED, @TNK-12741

    Trả về danh sách voucher chủ phường tặng cho user

    • Given Tài khoản "ownerclan20" đã tạo phường với thông tin
      codenamedescriptionmember
      clan_01AutoTestCall APImember1
    • And Tài khoản "member1" chưa được chủ phường tặng cho voucher nào
    • And Thời gian áp dụng voucher là "A-3"
    • And Thời gian hết hạn voucher là "A+1"
    • And Tồn tại voucher có thông tin
      codeclanvalidFromvalidTonumberOfVoucherconditiondiscountTypeformulaitemsorderDiscount
      voucher01clan_012024-01-01T00:00:00Z2034-01-01T00:00:00Z2totalWeight >= 1PERCENT10[{"fee": "shipping_fee"}]{"maxValue": 5000,"discountLimit": 1000,"orderDiscountType": "totalValue"}
      voucher02clan_012024-01-01T00:00:00Z2totalWeight >= 1PERCENT10[{"fee": "shipping_fee"}]{"maxValue": 5000,"discountLimit": 1000,"orderDiscountType": "totalValue"}
    • And Chủ phường "clan_01" tặng cho user "member1" voucher "voucher01_01, voucher02_01" từ voucher "voucher01, voucher02"
    • And Có token của tài khoản "member1"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "GET" đến "/M26/vouchers"
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body là một mảng có 2 phần tử
    • And Response có body thỏa mãn giá trị như sau
      [
      {
          "code": "${voucher01_01}",
          "validFrom": "2024-01-01T00:00:00Z",
          "validTo": "2034-01-01T00:00:00Z",
          "applyCondition": "totalWeight >= 1",
          "limit": 1,
          "remaining": 1
      },
      {
          "code": "${voucher02_01}",
          "validFrom": "2024-01-01T00:00:00Z",
          "validTo": null,
          "applyCondition": "totalWeight >= 1",
          "limit": 1,
          "remaining": 1
      }
      ]
  • Tags: @AUTOMATED, @TNK-12741

    Sau khi được chủ phường tặng voucher, user vẫn giữ nguyên số lượng voucher nếu user có rời phường

    • Given Tài khoản "ownerclan20" đã tạo phường với thông tin
      codenamedescriptionmember
      clan_01AutoTestCall APImember1
    • And Tài khoản "member1" chưa được chủ phường tặng cho voucher nào
    • And Thời gian áp dụng voucher là "A-3"
    • And Thời gian hết hạn voucher là "A+1"
    • And Tồn tại voucher có thông tin
      codeclanvalidFromvalidTonumberOfVoucherconditiondiscountTypeformulaitemsorderDiscount
      voucher01clan_012024-01-01T00:00:00Z2034-01-01T00:00:00Z2totalWeight >= 1PERCENT10[{"fee": "shipping_fee"}]{"maxValue": 5000,"discountLimit": 1000,"orderDiscountType": "totalValue"}
    • And Chủ phường "clan_01" tặng cho user "member1" voucher "voucher01_01" từ voucher "voucher01"
    • And Có token của tài khoản "member1"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/leave" với body
      {}
    • Then Trả về status code 200
    • And Tài khoản "member1" không còn là thành viên của phường "clan_01"
    • When Gửi request "GET" đến "/M26/vouchers"
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body là một mảng có 1 phần tử
    • And Response có body thỏa mãn giá trị như sau
      [
        {
          "code": "${voucher01_01}",
          "applyCondition": "totalWeight >= 1",
          "limit": 1,
          "remaining": 1,
          "validFrom": "2024-01-01T00:00:00Z",
          "validTo": "2034-01-01T00:00:00Z"
        }
      ]
  • Tags: @AUTOMATED, @TNK-12741

    Có thể phân trang và giới hạn số lượng voucher trên một trang

    • Given Tài khoản "ownerclan20" đã tạo phường với thông tin
      codenamedescriptionmember
      clan_01AutoTestCall APImember1
    • And Tồn tại voucher có thông tin
      codeclannumberOfVoucherconditiondiscountTypeformulaitemsorderDiscount
      voucher01clan_012totalWeight >= 1PERCENT10[{"fee": "shipping_fee"}]{"maxValue": 5000,"discountLimit": 1000,"orderDiscountType": "totalValue"}
      voucher02clan_012totalWeight >= 1PERCENT10[{"fee": "shipping_fee"}]{"maxValue": 5000,"discountLimit": 1000,"orderDiscountType": "totalValue"}
      voucher03clan_012totalWeight >= 1PERCENT10[{"fee": "shipping_fee"}]{"maxValue": 5000,"discountLimit": 1000,"orderDiscountType": "totalValue"}
    • And Chủ phường "clan_01" tặng cho user "member1" voucher "voucher01_01, voucher02_01, voucher03_01" từ voucher "voucher01, voucher02, voucher03"
    • And Có token của tài khoản "member1"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "GET" đến "/M26/vouchers" với params
      size2
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body là một mảng có 2 phần tử
  • Tags: @AUTOMATED, @TNK-12741

    Không tồn tại voucher cá nhân của user khi call api lấy danh sách voucher chủ phường tặng cho user

    • Given Tài khoản "member1" chưa được chủ phường tặng cho voucher nào
    • And Tồn tại voucher cá nhân của user với thông tin
      codecustomer_usernamevalid_fromvalid_toapply_scopesdiscount_typeformulacustomer_limitlimitfee_itemconfigremaining
      coupon_01member1AA+10["ORDER"]AMOUNT100025[{"fee": "domestic_shipping", "maxValue": "5000"}]{"single": true}0
    • And Có token của tài khoản "member1"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "GET" đến "/M26/vouchers"
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      []