Commit 942c5fe97670baa5bf382b76a589078293f13afe

Authored by Carlos Purificação
1 parent 6cb8a9fe

Added setup locale for API

lib/noosfero/api/api.rb
... ... @@ -11,9 +11,9 @@ module Noosfero
11 11 logger.formatter = GrapeLogging::Formatters::Default.new
12 12 use GrapeLogging::Middleware::RequestLogger, { logger: logger }
13 13  
14   - rescue_from :all do |e|
15   - logger.error e
16   - end
  14 + #rescue_from :all do |e|
  15 + # logger.error e
  16 + #end
17 17  
18 18 @@NOOSFERO_CONF = nil
19 19 def self.NOOSFERO_CONF
... ... @@ -25,6 +25,7 @@ module Noosfero
25 25 end
26 26 end
27 27  
  28 + before { set_locale }
28 29 before { setup_multitenancy }
29 30 before { detect_stuff_by_domain }
30 31 before { filter_disabled_plugins_endpoints }
... ...
lib/noosfero/api/helpers.rb
... ... @@ -7,6 +7,10 @@
7 7  
8 8 include SanitizeParams
9 9  
  10 + def set_locale
  11 + I18n.locale = (params[:lang] || request.env['HTTP_ACCEPT_LANGUAGE'] || 'en')
  12 + end
  13 +
10 14 def current_user
11 15 private_token = (params[PRIVATE_TOKEN_PARAM] || headers['Private-Token']).to_s
12 16 @current_user ||= User.find_by_private_token(private_token)
... ...
test/unit/api/users_test.rb
  1 +# encoding: UTF-8
1 2 require File.dirname(__FILE__) + '/test_helper'
2 3  
3 4 class UsersTest < ActiveSupport::TestCase
... ... @@ -19,6 +20,18 @@ class UsersTest &lt; ActiveSupport::TestCase
19 20 assert_equal 'some', json['user']['login']
20 21 end
21 22  
  23 + should 'not create duplicate user' do
  24 + params[:lang] = :"pt-BR"
  25 + params[:user] = {:login => 'some', :password => '123456', :password_confirmation => '123456', :email => 'some@some.com'}
  26 + post "/api/v1/users?#{params.to_query}"
  27 + json = JSON.parse(last_response.body)
  28 + assert_equal 'some', json['user']['login']
  29 + params[:user] = {:login => 'some', :password => '123456', :password_confirmation => '123456', :email => 'some@some.com'}
  30 + post "/api/v1/users?#{params.to_query}"
  31 + json = JSON.parse(last_response.body)
  32 + assert_equal 'Username / Email já está em uso,e-Mail já está em uso', json['message']
  33 + end
  34 +
22 35 should 'return 400 status for invalid user creation' do
23 36 params[:user] = {:login => 'some'}
24 37 post "/api/v1/users?#{params.to_query}"
... ...
test/unit/user_test.rb
... ... @@ -730,25 +730,6 @@ class UserTest &lt; ActiveSupport::TestCase
730 730 assert_equal 'quire', user.person.name
731 731 end
732 732  
733   - should 'generate private token' do
734   - user = User.new
735   - SecureRandom.stubs(:hex).returns('token')
736   - user.generate_private_token!
737   -
738   - assert user.private_token, 'token'
739   - end
740   -
741   - should 'check for private token validity' do
742   - user = User.new
743   - assert user.private_token_expired?
744   -
745   - user.generate_private_token!
746   - assert !user.private_token_expired?
747   -
748   - user.private_token_generated_at = DateTime.now - (User::TOKEN_VALIDITY + 1.minute)
749   - assert user.private_token_expired?
750   - end
751   -
752 733 protected
753 734 def new_user(options = {})
754 735 user = User.new({ :login => 'quire', :email => 'quire@example.com', :password => 'quire', :password_confirmation => 'quire' }.merge(options))
... ...