diff options
| -rw-r--r-- | app/models/user.rb | 9 | ||||
| -rw-r--r-- | spec/fixtures/users.json | 24 | ||||
| -rw-r--r-- | spec/models/user_spec.rb | 4 |
3 files changed, 20 insertions, 17 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index b921cdef8..2633fdacb 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -39,9 +39,7 @@ class User < ActiveRecord::Base self.name = extra[:full_name] self.email = extra[:email] self.organisation = Organisation.sync_update extra[:organisation_code], extra[:organisation_name], extra[:functional_scope] - if extra[:permissions] && extra[:permissions].include?('boiv:edit-offer') - self.permissions = @@edit_offer_permissions - end + self.permissions = extra[:permissions].include?('boiv:edit-offer') ? @@edit_offer_permissions : [] end def self.portail_api_request @@ -69,10 +67,7 @@ class User < ActiveRecord::Base user.locked_at = el['locked_at'] user.organisation = Organisation.sync_update el['organization_code'], el['organization_name'], el['functional_scope'] user.synced_at = Time.now - - if el['permissions'] && el['permissions'].include?('boiv:edit-offer') - user.permissions = @@edit_offer_permissions - end + user.permissions = el['permissions'].include?('boiv:edit-offer') ? @@edit_offer_permissions : [] user.save puts "✓ user #{user.username} has been updated" unless Rails.env.test? end diff --git a/spec/fixtures/users.json b/spec/fixtures/users.json index f4236a29e..6f50e402c 100644 --- a/spec/fixtures/users.json +++ b/spec/fixtures/users.json @@ -58,7 +58,8 @@ "locked_at": null, "profile": "Administrateur", "organization_name": "STIF", - "organization_code": "STIF" + "organization_code": "STIF", + "permissions": [] }, { "id": 5, "username": "laure.dubuc", @@ -71,7 +72,8 @@ "locked_at": null, "profile": "Administrateur", "organization_name": "STIF", - "organization_code": "STIF" + "organization_code": "STIF", + "permissions": [] }, { "id": 6, "username": "thomas.haddad", @@ -84,7 +86,8 @@ "locked_at": null, "profile": "Administrateur", "organization_name": "STIF", - "organization_code": "STIF" + "organization_code": "STIF", + "permissions": [] }, { "id": 7, "username": "jean-paul.lescouzeres", @@ -97,7 +100,8 @@ "locked_at": null, "profile": "Administrateur", "organization_name": "STIF", - "organization_code": "STIF" + "organization_code": "STIF", + "permissions": [] }, { "id": 8, "username": "xinhui.xu", @@ -110,7 +114,8 @@ "locked_at": null, "profile": "Administrateur", "organization_name": "STIF", - "organization_code": "STIF" + "organization_code": "STIF", + "permissions": [] }, { "id": 9, "username": "edouard.maffert", @@ -123,7 +128,8 @@ "locked_at": null, "profile": "Administrateur", "organization_name": "STIF", - "organization_code": "STIF" + "organization_code": "STIF", + "permissions": [] }, { "id": 9, "username": "vlatka.pavisic", @@ -152,7 +158,8 @@ "locked_at": null, "profile": "Référent IV Transporteur", "organization_name": "RATP", - "organization_code": "RATP" + "organization_code": "RATP", + "permissions": [] }, { "id": 11, "username": "jane.doe", @@ -165,5 +172,6 @@ "locked_at": "2016-08-05T12:34:03.995Z", "profile": "Référent IV Transporteur", "organization_name": "RATP", - "organization_code": "RATP" + "organization_code": "RATP", + "permissions": [] }] diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index f56680fc0..6925bb7e8 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -14,7 +14,7 @@ describe User, :type => :model do :organisation_code => '0083', :organisation_name => 'af83', :functional_scope => "[\"STIF:CODIFLIGNE:Line:C00840\", \"STIF:CODIFLIGNE:Line:C00086\"]", - :permissions => nil + :permissions => [] } ticket.user = "john.doe" ticket.success = true @@ -119,7 +119,7 @@ describe User, :type => :model do it 'should give edit permissions to user if user has "edit offer" permission in portail' do User.portail_sync expect(User.find_by(username: 'vlatka.pavisic').permissions).not_to be_empty - expect(User.find_by(username: 'pierre.vabre').permissions).to be_nil + expect(User.find_by(username: 'pierre.vabre').permissions).to be_empty end end end |
