diff options
author | Claire <claire.github-309c@sitedethib.com> | 2023-02-18 22:05:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-18 22:05:11 +0100 |
commit | 4c68189d2b8b6a9a74fc13862b11bf6c6d523409 (patch) | |
tree | dfeaba762dfa49844cc5cf6140deb30874734a46 /spec/serializers/rest | |
parent | 2be88d1930433f55e5ae17174f3711cefb3d5158 (diff) | |
parent | ea9a1d79df60749eb21fb592c608dcaa4c935c75 (diff) |
Merge pull request #2112 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'spec/serializers/rest')
-rw-r--r-- | spec/serializers/rest/account_serializer_spec.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/serializers/rest/account_serializer_spec.rb b/spec/serializers/rest/account_serializer_spec.rb new file mode 100644 index 000000000..ce29df3a7 --- /dev/null +++ b/spec/serializers/rest/account_serializer_spec.rb @@ -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 |