51 lines
1.1 KiB
Ruby
51 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
RSpec.describe Admin::ReportedContentEntity, feature_category: :insider_threat do
|
|
let_it_be(:report) { build_stubbed(:abuse_report) }
|
|
|
|
let(:entity) do
|
|
described_class.new(report)
|
|
end
|
|
|
|
describe '#as_json' do
|
|
subject(:entity_hash) { entity.as_json }
|
|
|
|
it 'exposes correct attributes' do
|
|
expect(entity_hash.keys).to match_array([
|
|
:id,
|
|
:global_id,
|
|
:status,
|
|
:message,
|
|
:reported_at,
|
|
:category,
|
|
:type,
|
|
:content,
|
|
:url,
|
|
:screenshot,
|
|
:reporter,
|
|
:update_path,
|
|
:moderate_user_path
|
|
])
|
|
end
|
|
|
|
it 'includes correct value for global_id' do
|
|
allow(Gitlab::GlobalId).to receive(:build).with(report, { id: report.id }).and_return(:mock_global_id)
|
|
|
|
expect(entity_hash[:global_id]).to eq 'mock_global_id'
|
|
end
|
|
|
|
it 'correctly exposes `reporter`' do
|
|
reporter_hash = entity_hash[:reporter]
|
|
|
|
expect(reporter_hash.keys).to match_array([
|
|
:name,
|
|
:username,
|
|
:avatar_url,
|
|
:path
|
|
])
|
|
end
|
|
end
|
|
end
|