Skip to content

Commit

Permalink
Add some specs
Browse files Browse the repository at this point in the history
  • Loading branch information
ClearlyClaire committed Jun 3, 2020
1 parent fe07ad7 commit 9abbf31
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
23 changes: 23 additions & 0 deletions spec/services/clear_domain_media_service_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
require 'rails_helper'

RSpec.describe ClearDomainMediaService, type: :service do
let!(:bad_account) { Fabricate(:account, username: 'badguy666', domain: 'evil.org') }
let!(:bad_status1) { Fabricate(:status, account: bad_account, text: 'You suck') }
let!(:bad_status2) { Fabricate(:status, account: bad_account, text: 'Hahaha') }
let!(:bad_attachment) { Fabricate(:media_attachment, account: bad_account, status: bad_status2, file: attachment_fixture('attachment.jpg')) }

subject { ClearDomainMediaService.new }

describe 'for a silence with reject media' do
before do
subject.call(DomainBlock.create!(domain: 'evil.org', severity: :silence, reject_media: true))
end

it 'leaves the domains status and attachements, but clears media' do
expect { bad_status1.reload }.not_to raise_error
expect { bad_status2.reload }.not_to raise_error
expect { bad_attachment.reload }.not_to raise_error
expect(bad_attachment.file.exists?).to be false
end
end
end
26 changes: 26 additions & 0 deletions spec/workers/domain_clear_media_worker_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# frozen_string_literal: true

require 'rails_helper'

describe DomainClearMediaWorker do
subject { described_class.new }

describe 'perform' do
let(:domain_block) { Fabricate(:domain_block, severity: :silence, reject_media: true) }

it 'calls domain clear media service for relevant domain block' do
service = double(call: nil)
allow(ClearDomainMediaService).to receive(:new).and_return(service)
result = subject.perform(domain_block.id)

expect(result).to be_nil
expect(service).to have_received(:call).with(domain_block)
end

it 'returns true for non-existent domain block' do
result = subject.perform('aaa')

expect(result).to eq(true)
end
end
end

0 comments on commit 9abbf31

Please sign in to comment.