mirror of
https://github.com/internetee/registry.git
synced 2025-06-10 22:54:47 +02:00
added test
This commit is contained in:
parent
d9f6274258
commit
1845fd8aa1
1 changed files with 98 additions and 0 deletions
98
test/interactions/email_check_test.rb
Normal file
98
test/interactions/email_check_test.rb
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
require 'test_helper'
|
||||||
|
|
||||||
|
class DoRequestTest < ActiveSupport::TestCase
|
||||||
|
|
||||||
|
setup do
|
||||||
|
WebMock.disable_net_connect!
|
||||||
|
|
||||||
|
@contact = contacts(:john)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_invalid_email_in_mx_level_with_a_and_aaaa_records
|
||||||
|
trumail_results = OpenStruct.new(success: false,
|
||||||
|
email: @contact.email,
|
||||||
|
domain: "box.tests",
|
||||||
|
errors: {:mx=>"target host(s) not found"},
|
||||||
|
)
|
||||||
|
|
||||||
|
Spy.on_instance_method(Actions::EmailCheck, :check_email).and_return(trumail_results)
|
||||||
|
Spy.on_instance_method(Actions::EmailCheck, :check_for_records_value).and_return([true])
|
||||||
|
|
||||||
|
action = Actions::EmailCheck.new(email: @contact.email,
|
||||||
|
validation_eventable: @contact,
|
||||||
|
check_level: 'mx')
|
||||||
|
action.call
|
||||||
|
|
||||||
|
assert_equal @contact.validation_events.count, 1
|
||||||
|
assert @contact.validation_events.last.success
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_invalid_email_in_mx_level_with_empty_a_and_aaaa_records
|
||||||
|
trumail_results = OpenStruct.new(success: false,
|
||||||
|
email: @contact.email,
|
||||||
|
domain: "box.tests",
|
||||||
|
errors: {:mx=>"target host(s) not found"},
|
||||||
|
)
|
||||||
|
|
||||||
|
Spy.on_instance_method(Actions::EmailCheck, :check_email).and_return(trumail_results)
|
||||||
|
Spy.on_instance_method(Actions::EmailCheck, :check_for_records_value).and_return([])
|
||||||
|
|
||||||
|
action = Actions::EmailCheck.new(email: @contact.email,
|
||||||
|
validation_eventable: @contact,
|
||||||
|
check_level: 'mx')
|
||||||
|
action.call
|
||||||
|
|
||||||
|
assert_equal @contact.validation_events.count, 1
|
||||||
|
refute @contact.validation_events.last.success
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_should_remove_invalid_validation_record_if_there_count_more_than_three
|
||||||
|
trumail_results = OpenStruct.new(success: false,
|
||||||
|
email: @contact.email,
|
||||||
|
domain: "box.tests",
|
||||||
|
errors: {:mx=>"target host(s) not found"},
|
||||||
|
)
|
||||||
|
|
||||||
|
Spy.on_instance_method(Actions::EmailCheck, :check_email).and_return(trumail_results)
|
||||||
|
Spy.on_instance_method(Actions::EmailCheck, :check_for_records_value).and_return([])
|
||||||
|
|
||||||
|
action = Actions::EmailCheck.new(email: @contact.email,
|
||||||
|
validation_eventable: @contact,
|
||||||
|
check_level: 'mx')
|
||||||
|
3.times do
|
||||||
|
action.call
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_equal @contact.validation_events.count, 3
|
||||||
|
refute @contact.validation_events.last.success
|
||||||
|
|
||||||
|
3.times do
|
||||||
|
action.call
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_equal @contact.validation_events.count, 3
|
||||||
|
refute @contact.validation_events.last.success
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_should_remove_valid_validation_record_if_there_count_more_than_one
|
||||||
|
trumail_results = OpenStruct.new(success: false,
|
||||||
|
email: @contact.email,
|
||||||
|
domain: "box.tests",
|
||||||
|
errors: {:mx=>"target host(s) not found"},
|
||||||
|
)
|
||||||
|
|
||||||
|
Spy.on_instance_method(Actions::EmailCheck, :check_email).and_return(trumail_results)
|
||||||
|
Spy.on_instance_method(Actions::EmailCheck, :check_for_records_value).and_return([true])
|
||||||
|
|
||||||
|
action = Actions::EmailCheck.new(email: @contact.email,
|
||||||
|
validation_eventable: @contact,
|
||||||
|
check_level: 'mx')
|
||||||
|
|
||||||
|
3.times do
|
||||||
|
action.call
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_equal @contact.validation_events.count, 1
|
||||||
|
assert @contact.validation_events.last.success
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue