2020-05-24 23:13:21 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2021-03-11 19:13:27 +05:30
|
|
|
RSpec.shared_examples 'checking spam' do
|
|
|
|
before do
|
|
|
|
allow_next_instance_of(UserAgentDetailService) do |instance|
|
|
|
|
allow(instance).to receive(:create)
|
2020-05-24 23:13:21 +05:30
|
|
|
end
|
2021-03-11 19:13:27 +05:30
|
|
|
end
|
2020-05-24 23:13:21 +05:30
|
|
|
|
2021-03-11 19:13:27 +05:30
|
|
|
it 'executes SpamActionService' do
|
|
|
|
expect_next_instance_of(
|
|
|
|
Spam::SpamActionService,
|
|
|
|
{
|
|
|
|
spammable: kind_of(Snippet),
|
2021-09-30 23:02:18 +05:30
|
|
|
spam_params: spam_params,
|
2021-03-11 19:13:27 +05:30
|
|
|
user: an_instance_of(User),
|
|
|
|
action: action
|
|
|
|
}
|
|
|
|
) do |instance|
|
2021-09-30 23:02:18 +05:30
|
|
|
expect(instance).to receive(:execute)
|
2020-05-24 23:13:21 +05:30
|
|
|
end
|
|
|
|
|
2021-03-11 19:13:27 +05:30
|
|
|
subject
|
2020-05-24 23:13:21 +05:30
|
|
|
end
|
|
|
|
end
|
2020-11-24 15:15:51 +05:30
|
|
|
|
|
|
|
shared_examples 'invalid params error response' do
|
|
|
|
before do
|
|
|
|
allow_next_instance_of(described_class) do |service|
|
|
|
|
allow(service).to receive(:valid_params?).and_return false
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'responds to errors appropriately' do
|
|
|
|
response = subject
|
|
|
|
|
|
|
|
aggregate_failures do
|
|
|
|
expect(response).to be_error
|
|
|
|
expect(response.http_status).to eq 422
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|