|
277 | 277 | end
|
278 | 278 | end
|
279 | 279 |
|
280 |
| - describe '#admin?' do |
281 |
| - it 'returns true if the user has the editor-admin role in Hydra' do |
282 |
| - user = build(:user, roles: 'editor-admin') |
283 |
| - expect(user).to be_admin |
| 280 | + describe '#parsed_roles' do |
| 281 | + it 'returns array of role names when roles is set to comma-separated string' do |
| 282 | + user = build(:user, roles: 'role-1,role-2') |
| 283 | + expect(user.parsed_roles).to eq(%w[role-1 role-2]) |
284 | 284 | end
|
285 | 285 |
|
286 |
| - it 'returns false if the user does not have the editor-admin role in Hydra' do |
287 |
| - user = build(:user, roles: 'another-editor-admin') |
288 |
| - expect(user).not_to be_admin |
| 286 | + it 'strips leading & trailing spaces from role names' do |
| 287 | + user = build(:user, roles: ' role-1 , role-2 ') |
| 288 | + expect(user.parsed_roles).to eq(%w[role-1 role-2]) |
289 | 289 | end
|
290 | 290 |
|
291 |
| - it 'returns false if roles are empty in Hydra' do |
| 291 | + it 'returns empty array when roles is set to empty string' do |
292 | 292 | user = build(:user, roles: '')
|
293 |
| - expect(user).not_to be_admin |
| 293 | + expect(user.parsed_roles).to eq([]) |
294 | 294 | end
|
295 | 295 |
|
296 |
| - it 'returns false if roles are nil in Hydra' do |
| 296 | + it 'returns empty array when roles is set to nil' do |
297 | 297 | user = build(:user, roles: nil)
|
| 298 | + expect(user.parsed_roles).to eq([]) |
| 299 | + end |
| 300 | + end |
| 301 | + |
| 302 | + describe '#admin?' do |
| 303 | + it 'returns true if the user has the editor-admin role in Hydra' do |
| 304 | + user = build(:user, roles: 'editor-admin') |
| 305 | + expect(user).to be_admin |
| 306 | + end |
| 307 | + |
| 308 | + it 'returns false if the user does not have the editor-admin role in Hydra' do |
| 309 | + user = build(:user, roles: 'another-editor-admin') |
298 | 310 | expect(user).not_to be_admin
|
299 | 311 | end
|
300 | 312 | end
|
|
0 commit comments