Skip to content

Commit

Permalink
Add tests for REST::AccountSerializer
Browse files Browse the repository at this point in the history
It was meant to be part of mastodon#23255
  • Loading branch information
ClearlyClaire committed Jan 30, 2023
1 parent 96d26a9 commit 82cb83f
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions spec/serializers/rest/account_serializer_spec.rb
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 82cb83f

Please sign in to comment.