26 lines
871 B
Ruby
26 lines
871 B
Ruby
|
require 'rails_helper'
|
||
|
|
||
|
describe ChatwootCaptcha do
|
||
|
it 'returns true if HCAPTCHA SERVER KEY is absent' do
|
||
|
expect(described_class.new('random_key').valid?).to eq(true)
|
||
|
end
|
||
|
|
||
|
context 'when HCAPTCHA SERVER KEY is present' do
|
||
|
before do
|
||
|
create(:installation_config, { name: 'HCAPTCHA_SERVER_KEY', value: 'hcaptch_server_key' })
|
||
|
end
|
||
|
|
||
|
it 'returns false if client response is blank' do
|
||
|
expect(described_class.new('').valid?).to eq false
|
||
|
end
|
||
|
|
||
|
it 'returns true if client response is valid' do
|
||
|
captcha_request = double
|
||
|
allow(HTTParty).to receive(:post).and_return(captcha_request)
|
||
|
allow(captcha_request).to receive(:success?).and_return(true)
|
||
|
allow(captcha_request).to receive(:parsed_response).and_return({ 'success' => true })
|
||
|
expect(described_class.new('valid_response').valid?).to eq true
|
||
|
end
|
||
|
end
|
||
|
end
|