fluke/devops-service/tests/templates/api_v2/10_create/00_user.feature.erb

124 lines
3.4 KiB
Plaintext
Raw Normal View History

2014-07-15 12:57:21 +04:00
@user
Feature: create user
Scenario: create user with user without privileges
When I send POST '/v2.0/user' query with JSON body with user without privileges
"""
{
"username": "<%= @config["user"]["name"] %>",
"email": "<%= @config["user"]["name"] %>@test.test",
"password": "<%= @config["user"]["name"] %>"
}
"""
Then response should be '401'
Scenario: create user without header 'Content-Type'
When I send POST '/v2.0/user' query with JSON body without header 'Content-Type'
"""
{
"username": "<%= @config["user"]["name"] %>",
"email": "<%= @config["user"]["name"] %>@test.test",
"password": "<%= @config["user"]["name"] %>"
}
"""
Then response should be '415'
Scenario: create user, invalid body: empty
When I send POST '/v2.0/user' query with JSON body
"""
"""
Then response should be '400'
<% ["{}", "[]"].each do |k| %>
Scenario: create user, invalid body: body is a '<%= k %>'
When I send POST '/v2.0/user' query with JSON body
"""
<%= k %>
"""
Then response should be '400'
<% end %>
<% elements = ["{}", "[]", "null" ] %>
<% elements.each do |k| %>
Scenario: create user, invalid body: username is a '<%= k %>'
When I send POST '/v2.0/user' query with JSON body
"""
{
"username": <%= k %>,
"email": "<%= @config["user"]["name"] %>@test.test",
"password": "<%= @config["user"]["name"] %>"
}
"""
Then response should be '400'
<% end %>
<% elements.each do |k| %>
Scenario: create user, invalid body: password is a '<%= k %>'
When I send POST '/v2.0/user' query with JSON body
"""
{
"username": "<%= @config["user"]["name"] %>",
"email": "<%= @config["user"]["name"] %>@test.test",
"password": <%= k %>
}
"""
Then response should be '400'
<% end %>
<% elements.each do |k| %>
Scenario: create user, invalid body: email is a '<%= k %>'
When I send POST '/v2.0/user' query with JSON body
"""
{
"username": "<%= @config["user"]["name"] %>",
"email": <%= k %>,
"password": "<%= @config["user"]["name"] %>"
}
"""
Then response should be '400'
<% end %>
Scenario: create user, invalid body: without username
When I send POST '/v2.0/user' query with JSON body
"""
{
"email": "<%= @config["user"]["name"] %>@test.test",
"password": "<%= @config["user"]["name"] %>"
}
"""
Then response should be '400'
Scenario: create user, invalid body: without email
When I send POST '/v2.0/user' query with JSON body
"""
{
"username": "<%= @config["user"]["name"] %>",
"password": "<%= @config["user"]["name"] %>"
}
"""
Then response should be '400'
Scenario: create user, invalid body: without password
When I send POST '/v2.0/user' query with JSON body
"""
{
"email": "<%= @config["user"]["name"] %>@test.test",
"username": "<%= @config["user"]["name"] %>"
}
"""
Then response should be '400'
Scenario: create user
When I send POST '/v2.0/user' query with JSON body
"""
{
"username": "<%= @config["user"]["name"] %>",
"email": "<%= @config["user"]["name"] %>@test.test",
"password": "<%= @config["user"]["name"] %>"
}
"""
Then response should be '201'
And the Content-Type header should include 'application/json'