require File.dirname(__FILE__) + '/test_helper' class SessionTest < ActiveSupport::TestCase def setup login_api end should 'generate private token when login' do params = {:login => "testapi", :password => "testapi"} post "/api/v1/login?#{params.to_query}" json = JSON.parse(last_response.body) assert !json["private_token"].blank? end should 'return 401 when login fails' do user.destroy params = {:login => "testapi", :password => "testapi"} post "/api/v1/login?#{params.to_query}" assert_equal 401, last_response.status end should 'register a user' do params = {:login => "newuserapi", :password => "newuserapi", :email => "newuserapi@email.com" } post "/api/v1/register?#{params.to_query}" assert_equal 201, last_response.status end should 'do not register a user without email' do params = {:login => "newuserapi", :password => "newuserapi", :email => nil } post "/api/v1/register?#{params.to_query}" assert_equal 400, last_response.status end should 'do not register a duplicated user' do params = {:login => "newuserapi", :password => "newuserapi", :email => "newuserapi@email.com" } post "/api/v1/register?#{params.to_query}" post "/api/v1/register?#{params.to_query}" assert_equal 400, last_response.status end end