«

PATCH /api/M26/clans/{code}/requests - đồng ý hoặc từ chối lời mời từ chủ phường

body: { "accept": true }

    • Given Khách hàng "userclan10" chưa là thành viên của phường nào
  • Trả về 401 khi gửi request đồng ý lời mời từ chủ phường nhưng không gửi token

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": true
      }
    • Then Trả về status code 401
  • Trả về 401 khi gửi request đồng ý lời mời từ chủ phường nhưng gửi token không hợp lệ

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Token đã hết hạn
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": true
      }
    • Then Trả về status code 401
  • Trả về 400 khi gửi request reply lời mời phường vớ tenant không hợp lệ

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Có token của tài khoản "userclan10"
    • When Request có header là
      X-Tenant<tenant>
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": true
      }
    • Then Trả về status code 404
    • And Response có body thỏa mãn giá trị như sau
      {
      "title": "clan_not_found"
      }

    Examples:

    tenant
    taolao
  • Trả về 400 khi không gửi lên tenant

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Có token của tài khoản "userclan10"
    • When Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": true
      }
    • Then Trả về status code 400
  • Trả về 404 khi gửi lên mã phường không tồn tại

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Có token của tài khoản "userclan10"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/lamgicocaiphuongnay/requests" với body
      {
       "accept": true
      }
    • Then Trả về status code 404
    • And Response có body thỏa mãn giá trị như sau
      {
         "title": "clan_not_found"
      }
  • Trả về 404 khi gửi lên mã phường mà chủ phường không gửi lời mời tới KH

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Có token của tài khoản "userclan10"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": true
      }
    • Then Trả về status code 404
    • And Response có body thỏa mãn giá trị như sau
      {
         "title": "request_not_found"
      }
  • Trả về 404 khi gửi lên mã phường mà chủ phường gửi lời mời tới KH khác

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "pamiuoi" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Có token của tài khoản "userclan10"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": true
      }
    • Then Trả về status code 404
    • And Response có body thỏa mãn giá trị như sau
      {
         "title": "request_not_found"
      }
  • KH đã thuộc 1 phường rồi, không thể đồng ý vào 1 phường khác

    • Given Tài khoản "ownerclan02" đã tạo phường với thông tin
      codenamedescriptionrequestRequired
      clan_02AutoTest 2Call APIfalse
    • And Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Tài khoản "userclan10 " là thành viên của phường "clan_02"
    • And Có token của tài khoản "userclan10"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": true
      }
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
         "title": "username_had_clan"
      }
  • Trả về 400 khi gửi request đồng ý lời mời vào phường mà KH đã từ chối trước đó

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Có token của tài khoản "userclan10"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": false
      }
    • Then Trả về status code 200
    • When Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": true
      }
    • Then Trả về status code 404
    • And Response có body thỏa mãn giá trị như sau
      {
         "title": "request_not_found"
      }
  • Trả về 400 khi gửi request từ chối lời mời vào phường mà KH đã đồng ý trước đó

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Có token của tài khoản "userclan10"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": true
      }
    • Then Trả về status code 200
    • When Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": false
      }
    • Then Trả về status code 404
    • And Response có body thỏa mãn giá trị như sau
      {
         "title": "request_not_found"
      }
  • Trả về 400 khi gửi request đồng ý/ từ chối lời mời vào phường nếu không gửi lên body

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Có token của tài khoản "userclan10"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests"
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
         "title": "Bad Request"
      }
  • Nếu truyền lên accept giá trị null thì được hiểu là gửi request từ chối lời mời tham gia phường

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Có token của tài khoản "userclan10"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": null
      }
    • Then Trả về status code 200
    • And Tài khoản "userclan10" không là thành viên của phường "clan_01"
  • Đồng ý lời mời vào phường thành công khi gửi request hợp lệ. Khi đó khách hàng là thành viên của phường

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Có token của tài khoản "userclan10"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": true
      }
    • Then Trả về status code 200
    • And Response có body thỏa mãn giá trị như sau
      {
          "clanCode": "${clan_01}",
          "username": "userclan10"
      }
    • When Gửi request "GET" đến "/M26/clans/me"
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      [
          {
              "clanCode": "${clan_01}",
              "username": "userclan10",
              "status": true
          }
      ]
  • Từ chối lời mời vào phường thành công khi gửi request hợp lệ, Khi đó khách hàng không là thành viên của phường

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Có token của tài khoản "userclan10"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": false
      }
    • Then Trả về status code 200
    • And Tài khoản "userclan10" không là thành viên của phường "clan_01"
  • Khi chủ phường gửi lại lời mời vào phường sau khi bị từ chối, KH có thể đồng ý vào phường -> KH là thành viên của phường

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Khách hàng "userclan10" từ chối lời mời vào phường "clan_01"
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Có token của tài khoản "userclan10"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": true
      }
    • Then Trả về status code 200
    • And Response có body thỏa mãn giá trị như sau
      {
          "clanCode": "${clan_01}",
          "username": "userclan10"
      }
    • When Gửi request "GET" đến "/M26/clans/me"
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      [
          {
              "clanCode": "${clan_01}",
              "username": "userclan10",
              "status": true
          }
      ]
  • Khi chủ phường gửi lại lời mời vào phường sau khi bị từ chối, KH có thể tiếp tục từ chối lời mời vào phường -> KH không là thành viên của phường

    • Given Tài khoản "ownerclan10" đã tạo phường với thông tin
      codenamedescription
      clan_01AutoTestCall API
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Khách hàng "userclan10" từ chối lời mời vào phường "clan_01"
    • And Khách hàng "userclan10" đã nhận được lời mời tham gia vào phường với thông tin
      clanCodeowner
      clan_01ownerclan10
    • And Có token của tài khoản "userclan10"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/clans/${clan_01}/requests" với body
      {
       "accept": false
      }
    • Then Trả về status code 200
    • And Tài khoản "userclan10" không là thành viên của phường "clan_01"