Không cho phép đăng ký tài khoản có tên đăng nhập hoặc email đã tồn tại trên hệ thống
Yêu cầu đối với từng thông tin:
- Tên đăng nhập: Tối thiểu 6 ký tự, có cho phép nhập ký tự đặc biệt
- Mật khẩu: Tối thiểu 6 ký tự
- Email: Phải đúng định dạng email
- Số điện thoại: Từ 8-10 ký tự số, nếu bắt đầu bằng ký tự khác 0 thì BE tự động thêm 0 vào đầu chuỗi
- Đồng ý điều khoản: Có giá trị true
Sau khi đăng ký thành công, tài khoản mới cần đăng nhập vào hệ thống thì mới được thêm vào danh sách khách hàng
Request Body:
{
"username" (): "diepanh",
"name" (): "Nguyễn Diệp Anh",
"email" (): "nguyendiepanh@gobiz.vn",
"password" (): "654321",
"phone" (): "0919910295",
"agreePolicy" (): true,
"ref": "string"
}
-
Trả về status code 200 và Đăng ký tài khoản thành công
Danh sách khách hàng chưa có tài khoản mới đăng ký thành công do chưa đăng nhập vào hệ thống
-
Given Chưa có tài khoản nào có tên đăng nhập là "<username>"
-
And Chưa có tài khoản nào có email là "<email>"
-
When Request có header là
-
And Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "${<username>}",
"name": "<fullname>",
"email": "${<email>}",
"password": "<password>",
"phone": "<phone>",
"agreePolicy": true,
"ref": "<ref>"
}
-
Then Trả về status code 200
-
And Response có body thỏa mãn schema "schemas/register.json"
-
And Thông tin tài khoản "<username>" sau khi đăng ký thành công chưa có trong danh sách khách hàng
Examples:
| username |
fullname |
email |
password |
phone |
ref |
| 123zozo |
Chưa nghĩ ra tên |
nguyendiepanh@gobiz.vn |
123456 |
0919920506 |
|
|
| flashsale |
Chán không buồn nghĩ tên |
nguyendiepanh@gmail.com |
012345 |
0123456780 |
DA0211 |
|
| congchuabongbong |
Công chúa bong bóng |
congchuabongbong@gmail.com |
654321 |
12345678 |
|
|
| ngoinhahoahong |
Ngôi nhà hoa hồng |
ngoinhahoahong@gmail.com |
@Alo123456changaingheDiepAnh.211 |
123456789 |
|
|
| lofichill |
Nhạc Lofi cực chill |
loficucchill@yahoo.com |
@Alo123456changaingheDiepAnh211 |
0234567890 |
|
|
-
Sau khi đăng ký thành công, đăng nhập hệ thống thì mới được thêm vào danh sách khách hàng
-
Given Chưa có tài khoản nào có tên đăng nhập là "vequeantet"
-
And Chưa có tài khoản nào có email là "vequeantet@gobiz.vn"
-
When Request có header là
-
And Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "${vequeantet}",
"name": "Hihi Diệp Anh đang test",
"email": "${vequeantet@gobiz.vn}",
"password": "654321",
"phone": "0987654321",
"agreePolicy": true,
"ref": "DA0211"
}
-
And Đăng nhập hệ thống với tài khoản "vequeantet" và mật khẩu "654321"
-
And Gửi yêu cầu lấy token của tài khoản trên hệ thống m1
-
Then Thông tin tài khoản "vequeantet" sau khi đăng ký thành công đã có trong danh sách khách hàng
-
And Hệ thống quản lý đã lưu thông tin mã giới thiệu của khách hàng "vequeantet" là "DA0211"
-
Đăng ký tài khoản thành công với tên đăng nhập từ 6 ký tự trở lên
-
Given Có chuỗi ký tự "***" sinh ngẫu nhiên có độ dài <length> ký tự và không chứa ký tự đặc biệt
-
When Request có header là
-
And Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "${***}",
"name": "Hihi Diệp Anh đang test",
"email": "${***}@gmail.com",
"password": "654321",
"phone": "0987654321",
"agreePolicy": true,
"ref": "DA0211"
}
-
Then Trả về status code 200
-
And Response có body thỏa mãn giá trị không phân biệt hoa thường như sau
{
"username": "${***}",
"name": "Hihi Diệp Anh đang test",
"email": "${***}@gmail.com",
"phone": "0987654321"
}
-
Lỗi 400 khi gửi request body có username ít hơn 6 ký tự
-
When Request có header là
-
And Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "pamiu",
"name": "Hihi Diệp Anh đang test",
"email": "pamiu@gmail.com",
"password": "654321",
"phone": "0987654321",
"agreePolicy": true,
"ref": "DA0211"
}
-
Then Trả về status code 400
-
Lỗi 400 khi gửi request body có username đã tồn tại
-
Given Đã có khách hàng có tên đăng nhập là "pamiuoi"
-
When Request có header là
-
And Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "pamiuoi",
"name": "Chưa nghĩ ra tên",
"email": "hihihaha@gobiz.vn",
"phone": "0987654321",
"password": "123456",
"agreePolicy": true
}
-
Then Trả về status code 400
-
And Response có body chứa nội dung
| key | value |
|---|
| detail | User with username 'pamiuoi' already exists |
| title | duplicate_user |
-
Lỗi 400 khi gửi request body có email đã tồn tại
-
Given Đã có khách hàng có thông tin
| username | email |
|---|
| pamiuoi | pamiuoi@gobiz.vn |
-
And Chưa có tài khoản nào có tên đăng nhập là "username"
-
When Request có header là
-
And Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "${username}",
"name": "Chưa nghĩ ra tên",
"email": "pamiuoi@gobiz.vn",
"phone": "0987654321",
"password": "123456",
"agreePolicy": true,
"agree1688ShopPolicy": true
}
-
Then Trả về status code 400
-
And Response có body chứa nội dung
| key | value |
|---|
| detail | User with email 'pamiuoi@gobiz.vn' already exists |
| title | duplicate_email |
-
-
Given Chưa có tài khoản nào có tên đăng nhập là "username"
-
And Chưa có tài khoản nào có email là "email"
-
When Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "${username}",
"name": "Chưa nghĩ ra tên",
"email": "${email}",
"phone": "0987654321",
"password": "123456",
"agreePolicy": true,
"agree1688ShopPolicy": true
}
-
Then Trả về status code 400
-
And Response có body chứa nội dung
| key | value |
|---|
| detail | Required header 'X-Tenant' is not present. |
| title | Bad Request |
-
-
Given Chưa có tài khoản nào có tên đăng nhập là "username_bat_ky"
-
When Request có header là
-
And Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "username",
"name": "Chẳng thích đặt tên",
"email": "username_bat_ky@gmail.com",
"password": "123456",
"phone": "09876543",
"agreePolicy": true,
"agree1688ShopPolicy": true
}
-
Then Trả về status code 500
-
Lỗi 400 khi gửi request body chứa thông tin Đồng ý điều khoản có giá trị khác true
-
Given Chưa có tài khoản nào có tên đăng nhập là "diepanh"
-
And Chưa có tài khoản nào có email là "nguyendiepanh@gobiz.vn"
-
When Request có header là
-
And Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "${diepanh}",
"name": "Nguyễn Diệp Anh",
"email": "${nguyendiepanh@gobiz.vn}",
"password": "123456",
"phone": "0123456780",
"agreePolicy": "<agreePolicy>",
"ref": "DA012"
}
-
Then Trả về status code 400
-
And Response có body thỏa mãn giá trị như sau
{
"title": "policy_has_not_agree",
"detail": "The user has not agreed to the policy"
}
-
Lỗi 400 khi gửi request body để trống thông tin: fullname, password, phone
-
Given Chưa có tài khoản nào có tên đăng nhập là "diepanh"
-
And Chưa có tài khoản nào có email là "nguyendiepanh@gobiz.vn"
-
When Request có header là
-
And Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "${diepanh}",
"name": "<fullname>",
"email": "${nguyendiepanh@gobiz.vn}",
"password": "<password>",
"phone": "<phone>",
"agreePolicy": true,
"ref": "DA012"
}
-
Then Trả về status code 400
-
And Response có body thỏa mãn giá trị như sau
{
"title": "Constraint Violation",
"violations": [
{
"field": "<field>",
"message": "<message>"
}
]
}
Examples:
| fullname |
password |
phone |
field |
message |
|
123456 |
0123456780 |
name |
must not be blank |
|
| Nguyễn Diệp Anh |
|
0123456780 |
password |
must not be blank |
|
| Nguyễn Diệp Anh |
123456 |
|
phone |
must not be blank |
|
-
Trả status 400 khi gửi request với username, email, phone sai định dạng
-
Given Chưa có tài khoản nào có tên đăng nhập là "diepanh"
-
And Chưa có tài khoản nào có email là "nguyendiepanh@gobiz.vn"
-
When Request có header là
-
And Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "<username>",
"name": "Nguyễn Diệp Anh",
"email": "<email>",
"password": "123456",
"phone": "<phone>",
"agreePolicy": true,
"ref": "DA012"
}
-
Then Trả về status code 400
-
And Response có body thỏa mãn giá trị như sau
{
"title": "Constraint Violation",
"violations": [
{
"field": "<field>",
"message": "<message>"
}
]
}
Examples:
| username |
email |
phone |
field |
message |
| ${diepanh} |
nguyendiepanh |
0123456780 |
email |
Email do not format |
|
| diep.anh |
${nguyendiepanh@gobiz.vn} |
0123456780 |
username |
Username do not format |
|
| ${diepanh} |
${nguyendiepanh@gobiz.vn} |
1234567890 |
phone |
Phone do not format |
|
-
Lỗi 400 khi gửi lên password ít hơn 6 ký tự, hoặc nhiều hơn 32 ký tự
-
Given Chưa có tài khoản nào có tên đăng nhập là "diepanh"
-
And Chưa có tài khoản nào có email là "nguyendiepanh@gobiz.vn"
-
When Request có header là
-
And Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "${diepanh}",
"name": "Nguyễn Diệp Anh",
"email": "${nguyendiepanh@gobiz.vn}",
"password": "<password>",
"phone": "0123456780",
"agreePolicy": true,
"ref": "DA012"
}
-
Then Trả về status code 400
-
And Response có body thỏa mãn giá trị như sau
{
"title": "Constraint Violation",
"violations": [
{
"field": "password",
"message": "size must be between 6 and 32"
}
]
}
Examples:
| password |
| 12345 |
|
| @Alo123456changaingheDiepAnh.0211 |
|
-
Lỗi 400 khi gửi request body với username null
-
Given Chưa có tài khoản nào có email là "email"
-
When Request có header là
-
And Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "<username>",
"name": "Chưa nghĩ ra tên",
"email": "${email}",
"password": "123456",
"phone": "0987654321",
"agreePolicy": true,
"agree1688ShopPolicy": true
}
-
Then Trả về status code 400
-
And Response có body thỏa mãn giá trị như sau
{
"title": "Constraint Violation",
"violations": [
{
"field": "username",
"message": "<message>"
}
]
}
Examples:
| username |
message |
|
must not be blank |
|
| null |
Username do not format |
|
-
Lỗi 400 khi gửi request body với email null
-
Given Chưa có tài khoản nào có tên đăng nhập là "username"
-
When Request có header là
-
And Gửi request "POST" đến "/M26/staffs/register" với body
{
"username": "${username}",
"name": "Chưa nghĩ ra tên",
"email": "<email>",
"password": "123456",
"phone": "0987654321",
"agreePolicy": true,
"agree1688ShopPolicy": true
}
-
Then Trả về status code 400
-
And Response có body thỏa mãn giá trị như sau
{
"title": "Constraint Violation",
"violations": [
{
"field": "email",
"message": "<message>"
}
]
}
Examples:
| email |
message |
|
must not be blank |
|
| null |
Email do not format |
|