|
|
|
@ -20,4 +20,52 @@ describe Api::V1::Admin::CanonicalEmailBlocksController do |
|
|
|
|
expect(response).to have_http_status(200) |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
describe 'POST #test' do |
|
|
|
|
context 'when required email is not provided' do |
|
|
|
|
it 'returns http bad request' do |
|
|
|
|
post :test |
|
|
|
|
|
|
|
|
|
expect(response).to have_http_status(400) |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
context 'when required email is provided' do |
|
|
|
|
let(:params) { { email: 'example@email.com' } } |
|
|
|
|
|
|
|
|
|
context 'when there is a matching canonical email block' do |
|
|
|
|
let!(:canonical_email_block) { CanonicalEmailBlock.create(params) } |
|
|
|
|
|
|
|
|
|
it 'returns http success' do |
|
|
|
|
post :test, params: params |
|
|
|
|
|
|
|
|
|
expect(response).to have_http_status(200) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it 'returns expected canonical email hash' do |
|
|
|
|
post :test, params: params |
|
|
|
|
|
|
|
|
|
json = body_as_json |
|
|
|
|
|
|
|
|
|
expect(json[0][:canonical_email_hash]).to eq(canonical_email_block.canonical_email_hash) |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
context 'when there is no matching canonical email block' do |
|
|
|
|
it 'returns http success' do |
|
|
|
|
post :test, params: params |
|
|
|
|
|
|
|
|
|
expect(response).to have_http_status(200) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it 'returns an empty list' do |
|
|
|
|
post :test, params: params |
|
|
|
|
|
|
|
|
|
json = body_as_json |
|
|
|
|
|
|
|
|
|
expect(json).to be_empty |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|