|
|
@ -0,0 +1,37 @@ |
|
|
|
# frozen_string_literal: true |
|
|
|
|
|
|
|
require 'rails_helper' |
|
|
|
|
|
|
|
describe REST::AccountSerializer do |
|
|
|
let(:role) { Fabricate(:user_role, name: 'Role', highlighted: true) } |
|
|
|
let(:user) { Fabricate(:user, role: role) } |
|
|
|
let(:account) { user.account} |
|
|
|
|
|
|
|
subject { JSON.parse(ActiveModelSerializers::SerializableResource.new(account, serializer: REST::AccountSerializer).to_json) } |
|
|
|
|
|
|
|
context 'when the account is suspended' do |
|
|
|
before do |
|
|
|
account.suspend! |
|
|
|
end |
|
|
|
|
|
|
|
it 'returns empty roles' do |
|
|
|
expect(subject['roles']).to eq [] |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
context 'when the account has a highlighted role' do |
|
|
|
let(:role) { Fabricate(:user_role, name: 'Role', highlighted: true) } |
|
|
|
|
|
|
|
it 'returns the expected role' do |
|
|
|
expect(subject['roles'].first).to include({ 'name' => 'Role' }) |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
context 'when the account has a non-highlighted role' do |
|
|
|
let(:role) { Fabricate(:user_role, name: 'Role', highlighted: false) } |
|
|
|
|
|
|
|
it 'returns empty roles' do |
|
|
|
expect(subject['roles']).to eq [] |
|
|
|
end |
|
|
|
end |
|
|
|
end |