«

Thể hiện logic liên quan luồng tự deal

  • Đơn hàng đáp ứng điều kiện đi luồng tự deal của dịch vụ, có thể lấy thông tin mã hóa đơn gốc từ 1688 khi đơn chưa thanh toán (POST /api/M26/orders/original-invoice/{code})
  • Tại api tạo đơn nháp, api danh sách đơn nháp, chi tiết đơn chờ thanh toán, trả về trường showSelfNegotiate = true khi đơn đủ điều kiện đi luồng tự deal
  • Tags: @AUTOMATED, @TNK-8493

    Trả về status 400 khi gửi request lấy mã hóa đơn gốc mà không gửi lên header

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã mapping
      DH_01Chờ thanh toánM1_01
    • And Có token của tài khoản "pamiuoi"
    • When Gửi request "POST" đến "/M26/orders/original-invoice/${M1_01}"
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
          "title": "Bad Request",
          "detail": "Required header 'X-Tenant' is not present."
      }
  • Tags: @AUTOMATED, @TNK-8493

    Trả về status 400 khi gửi request lấy mã hóa đơn gốc với header không hợp lệ

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã mapping
      DH_01Chờ thanh toánM1_01
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenant<tenant>
    • And Gửi request "POST" đến "/M26/orders/original-invoice/${M1_01}"
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
          "title": "order_not_found"
      }

    Examples:

    tenant
    m2
  • Tags: @AUTOMATED, @TNK-8493

    Trả về status 401 khi gửi request lấy mã HĐG luồng đơn tự deal không có token

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã mapping
      DH_01Chờ thanh toánM1_01
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/M26/orders/original-invoice/${M1_01}"
    • Then Trả về status code 401
  • Tags: @AUTOMATED, @TNK-8493

    Trả về status 401 khi request lấy mã HĐG với token không hợp lệ

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã mapping
      DH_01Chờ thanh toánM1_01
    • And Token đã hết hạn
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/M26/orders/original-invoice/${M1_01}"
    • Then Trả về status code 401
  • Tags: @AUTOMATED, @TNK-8493

    Trả về status 404 khi gửi request lấy MHĐG với mã đơn không tồn tại

    • Given Khách hàng không tồn tại đơn hàng "taolao"
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/M26/orders/original-invoice/${taolao}"
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
         "title": "order_not_found"
      }
  • Tags: @AUTOMATED, @TNK-8493

    Trả về status 400 khi gửi mã đơn có trạng thái khác chờ thanh toán

    • Given Hệ thống có cấu hình đơn đủ điều kiện khách hàng tự deal
      totalValuemarketplace
      01688
    • And Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã mapping
      DH_01<status>M1_01
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/M26/orders/original-invoice/${M1_01}"
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
         "title": "<error>"
      }

    Examples:

    status error
    Chờ xử lý order_status_illegal
    Chờ giao hàng original_invoice_code_already_exist
    Vận chuyển quốc tế original_invoice_code_already_exist
    Đang giao hàng original_invoice_code_already_exist
    Đã nhận hàng original_invoice_code_already_exist
    Đã hoàn tiền order_status_illegal
    Hủy bỏ order_status_illegal
  • Tags: @AUTOMATED, @TNK-8493

    Trả về status 400 khi gửi lên mã đơn không thỏa mãn điều kiện cấu hình

    • Given Hệ thống có cấu hình đơn đủ điều kiện khách hàng tự deal
      totalValuemarketplace
      <totalValue>1688
    • And Giỏ hàng của tài khoản "pamiuoi" đã có sản phẩm thuộc marketplace "<marketPlace>" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSize
      merchant_01product_01skuId_01skusId_0110110
    • And Từ sản phẩm trong giỏ, tài khoản "pamiuoi" đã tạo đơn hàng với thông tin
      Mã đơnTrạng tháiMã mapping
      DH_01Chờ thanh toánM1_01
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/M26/orders/original-invoice/${M1_01}"
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
         "title": "order_illegal"
      }

    Examples:

    marketPlace totalValue
    taobao 0
    1688 1000000000
  • Tags: @AUTOMATED, @TNK-8493

    Trả về status 400 khi gửi request lấy mã hóa đơn gốc cho đơn đã được lấy mã hóa đơn gốc thành công

    • Given Hệ thống có cấu hình đơn đủ điều kiện khách hàng tự deal
      totalValuemarketplace
      01688
    • And Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã mapping
      DH_01Chờ thanh toánM1_01
    • And Đơn hàng "M1_01" đã lấy mã hóa đơn gốc có thông tin "HDGOO1"
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/M26/orders/original-invoice/${M1_01}"
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
         "title": "original_invoice_code_already_exist"
      }
  • Tags: @AUTOMATED, @TNK-8493

    Lấy mã hóa đơn gốc thành công khi gửi request hợp lệ

    • Given Hệ thống có cấu hình đơn đủ điều kiện khách hàng tự deal
      totalValuemarketplace
      01688
    • And Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã mapping
      DH_01Chờ thanh toánM1_01
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/M26/orders/original-invoice/${M1_01}"
    • Then Trả về status code 200
    • And Đơn hàng lấy thành công mã hóa đơn gốc có thông tin "HDG1"
    • And Response có body thỏa mãn giá trị như sau
      {
      "originalInvoiceCode": ["${HDG1}"]
      }
  • Tags: @AUTOMATED, @TNK-8493

    Khi tạo đơn nháp, nếu đơn đủ điều kiện tự deal, response trả về thông tin showSelfNegotiate = true

    • Given Hệ thống có cấu hình đơn đủ điều kiện khách hàng tự deal
      totalValuemarketplace
      01688
    • And Tài khoản "pamiuoi" đã có danh sách địa chỉ nhận hàng
      addressIdcountryprovincedistrictwarddefault
      VN_01Việt NamThành phố Hà NộiQuận Hà ĐôngPhường Văn Quántrue
    • And Có token của tài khoản "pamiuoi"
    • And Request có header là
      X-Tenantm26
    • And Giỏ hàng của tài khoản "pamiuoi" đã có sản phẩm thuộc marketplace "1688" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSize
      merchant_01product_01skuId_01skusId_0110110
    • And Gửi request "POST" đến "/M26/draft-orders/with-last-mile" với body
      {
        "skus": ["${skusId_01}"],
        "addressId": "${VN_01}",
        "depositOnDemand": 100
      }
    • Then Trả về status code 200
    • And Response có body thỏa mãn giá trị như sau
      {
        "orderViews": [
          {
            "showSelfNegotiate": true
          }
        ]
      }
  • Tags: @AUTOMATED, @TNK-8493

    Khi tạo đơn nháp, nếu đơn không đủ điều kiện tự deal, response trả về thông tin showSelfNegotiate = false

    • Given Hệ thống có cấu hình đơn đủ điều kiện khách hàng tự deal
      totalValuemarketplace
      <totalValue>1688
    • And Tài khoản "pamiuoi" đã có danh sách địa chỉ nhận hàng
      addressIdcountryprovincedistrictwarddefault
      VN_01Việt NamThành phố Hà NộiQuận Hà ĐôngPhường Văn Quántrue
    • And Có token của tài khoản "pamiuoi"
    • And Request có header là
      X-Tenantm26
    • And Giỏ hàng của tài khoản "pamiuoi" đã có sản phẩm thuộc marketplace "<marketPlace>" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSize
      merchant_01product_01skuId_01skusId_0110110
    • And Gửi request "POST" đến "/M26/draft-orders/with-last-mile" với body
      {
        "skus": ["${skusId_01}"],
        "addressId": "${VN_01}",
        "depositOnDemand": 100
      }
    • Then Trả về status code 200
    • And Response có body thỏa mãn giá trị như sau
      {
        "orderViews": [
          {
            "showSelfNegotiate": false
          }
        ]
      }

    Examples:

    totalValue marketPlace
    0 tmall
    100000000 1688
  • Tags: @AUTOMATED, @TNK-8493

    Khi gửi request lấy thông tin đơn chờ thanh toán, response trả về thông tin đơn có đủ điều kiện đi luồng tự deal hay không

    • Given Hệ thống có cấu hình đơn đủ điều kiện khách hàng tự deal
      totalValuemarketplace
      01688
    • And Giỏ hàng của tài khoản "pamiuoi" đã có sản phẩm thuộc marketplace "<orderMarketPlace>" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSize
      merchant_01product_01skuId_01skusId_0110110
    • And Từ sản phẩm trong giỏ, tài khoản "pamiuoi" đã tạo đơn hàng với thông tin
      Mã đơnTrạng thái
      DH_01Chờ thanh toán
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "GET" đến "/M26/orders/with-last-mile/${DH_01}"
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      {
        "orderViews" : [{"showSelfNegotiate": <showSelfNegotiate>}]
      }

    Examples:

    orderMarketPlace showSelfNegotiate
    1688 true
    tmall false
  • Tags: @AUTOMATED, @TNK-8493

    Khi gửi request lấy thông tin đơn chờ thanh toán, response trả về thông tin mã hóa đơn gốc của đơn

    • Given Hệ thống có cấu hình đơn đủ điều kiện khách hàng tự deal
      totalValuemarketplace
      01688
    • And Giỏ hàng của tài khoản "pamiuoi" đã có sản phẩm thuộc marketplace "1688" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSize
      merchant_01product_01skuId_01skusId_0110110
    • And Từ sản phẩm trong giỏ, tài khoản "pamiuoi" đã tạo đơn hàng với thông tin
      Mã đơnTrạng tháiMã mapping
      DH_01Chờ thanh toánM1_01
    • And Đơn hàng "M1_01" đã lấy mã hóa đơn gốc có thông tin "HDGOO1"
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "GET" đến "/M26/orders/with-last-mile/${DH_01}"
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      {
        "orderViews" : [
            {"originalInvoiceCode": ["${HDGOO1}"]}
        ]
      }
  • Tags: @AUTOMATED, @TNK-8493

    Danh sách đơn nháp trả về thông tin đơn có đủ điều kiện tự deal hay không

    • Given Hệ thống có cấu hình đơn đủ điều kiện khách hàng tự deal
      totalValuemarketplace
      01688
    • And Tài khoản "pamiuoi" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_01111
    • And Tài khoản "pamiuoi" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "tmall" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityorder_quantitybatchSize
      draft_02merchant_02product_02skuId_02skusId_02111
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "GET" đến "/M26/draft-orders/with-last-mile" với params
      orderCodesdraft_01, draft_02
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      {
        "orderViews": [
          {
            "code": "${draft_01}",
            "orderItems": [
              {
              "itemId": "${product_01}",
              "skuId": "${skuId_01}"
              }
            ],
            "showSelfNegotiate": true
          },
          {
            "code": "${draft_02}",
            "orderItems": [
              {
              "itemId": "${product_02}",
              "skuId": "${skuId_02}"
              }
            ],
            "showSelfNegotiate": false
          }
        ]
      }