Commit 942c5fe97670baa5bf382b76a589078293f13afe
1 parent
6cb8a9fe
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
Added setup locale for API
Showing
4 changed files
with
21 additions
and
22 deletions
Show diff stats
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 < 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 < 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)) | ... | ... |