fixed role name new field validators without validate fields types fixed error with user parser todo: project tests returned some tests, users fixed some more tests: filters images tests network tests keys tests test generator fixed run_list validator
85 lines
2.6 KiB
Plaintext
85 lines
2.6 KiB
Plaintext
@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
|
|
"""
|
|
<%= @formatter.json('user/create', spaces: 4) %>
|
|
"""
|
|
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'
|
|
"""
|
|
<%= @formatter.json('user/create', spaces: 4) %>
|
|
"""
|
|
Then response should be '415'
|
|
|
|
Scenario: create user with header 'Accept' value is not 'application/json'
|
|
When I send POST '/v2.0/user' query with body with header 'Accept' value 'application/xml'
|
|
"""
|
|
<%= @formatter.json('user/create', spaces: 4) %>
|
|
"""
|
|
Then response should be '406'
|
|
|
|
Scenario: create user, invalid body: empty
|
|
When I send POST '/v2.0/user' query with JSON body
|
|
"""
|
|
"""
|
|
Then response should be '400'
|
|
|
|
<% invalid_name = "foo]&" %>
|
|
Scenario: create user with invalid name '<% invalid_name %>'
|
|
When I send POST '/v2.0/user' query with JSON body
|
|
"""
|
|
<%= @formatter.json('user/create', {spaces: 4, value: {"username" => invalid_name}}) %>
|
|
"""
|
|
Then response should be '400'
|
|
|
|
<% long_name = "a"*250 %>
|
|
Scenario: create user with long name '<% long_name %>'
|
|
When I send POST '/v2.0/user' query with JSON body
|
|
"""
|
|
<%= @formatter.json('user/create', {spaces: 4, value: {"username" => long_name}}) %>
|
|
"""
|
|
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 = [{}, [], nil ] %>
|
|
<% fields = @formatter.get_fixture('user/create').keys.map{|k| k.to_s} %>
|
|
<% fields.each do |field| %>
|
|
<% elements.each do |k| %>
|
|
Scenario: create user, invalid body: <%= field %> is a '<%= k %>'
|
|
When I send POST '/v2.0/user' query with JSON body
|
|
"""
|
|
<%= @formatter.json('user/create', {spaces: 4, value: {field => k}}) %>
|
|
"""
|
|
Then response should be '400'
|
|
|
|
Scenario: create user, invalid body: without <%= field %>
|
|
When I send POST '/v2.0/user' query with JSON body
|
|
"""
|
|
<%= @formatter.json('user/create', {spaces: 4, without_field: field}) %>
|
|
"""
|
|
Then response should be '400'
|
|
|
|
<% end %>
|
|
<% end %>
|
|
|
|
Scenario: create user
|
|
When I send POST '/v2.0/user' query with JSON body
|
|
"""
|
|
<%= @formatter.json('user/create', spaces: 4) %>
|
|
"""
|
|
Then response should be '201'
|
|
And the Content-Type header should include 'application/json'
|
|
|