135 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			3.7 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
 | |
|     """
 | |
|     {
 | |
|       "username": "<%= @config["user"]["name"] %>",
 | |
|       "email": "<%= @config["user"]["name"] %>@test.test",
 | |
|       "password": "<%= @config["user"]["name"] %>"
 | |
|     }
 | |
|     """
 | |
|     Then response should be '401'
 | |
| 
 | |
|   Scenario: create user without header 'Accept'
 | |
|     When I send POST '/v2.0/user' query with JSON body without header 'Accept'
 | |
|     """
 | |
|     {
 | |
|       "username": "<%= @config["user"]["name"] %>",
 | |
|       "email": "<%= @config["user"]["name"] %>@test.test",
 | |
|       "password": "<%= @config["user"]["name"] %>"
 | |
|     }
 | |
|     """
 | |
|     Then response should be '406'
 | |
| 
 | |
|   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'
 | |
| 
 | 
