|
|
|
@ -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
|
|
|
|
|