mirror of
https://github.com/internetee/registry.git
synced 2025-08-05 17:28:18 +02:00
47 lines
1.8 KiB
Ruby
47 lines
1.8 KiB
Ruby
require 'application_system_test_case'
|
|
|
|
class RegistrarAreaTechContactBulkChangeTest < ApplicationSystemTestCase
|
|
setup do
|
|
sign_in users(:api_bestnames)
|
|
end
|
|
|
|
def test_replace_domain_contacts_of_current_registrar
|
|
request_stub = stub_request(:patch, /domains\/contacts/)
|
|
.with(body: { current_contact_id: 'william-001', new_contact_id: 'john-001' },
|
|
basic_auth: ['test_bestnames', 'testtest'])
|
|
.to_return(body: { data: { affected_domains: %w[foo.test bar.test],
|
|
skipped_domains: %w[baz.test qux.test] } }.to_json,
|
|
status: 200)
|
|
|
|
visit registrar_domains_url
|
|
click_link 'Bulk change'
|
|
|
|
find('.current_tech_contact').fill_in 'Current contact ID', with: 'william-001'
|
|
find('.new_tech_contact').fill_in 'New contact ID', with: 'john-001'
|
|
click_on 'Replace technical contacts'
|
|
|
|
assert_requested request_stub
|
|
assert_current_path registrar_domains_path
|
|
assert_text 'Technical contacts have been successfully replaced'
|
|
assert_text 'Affected domains: foo.test, bar.test'
|
|
assert_text 'Skipped domains: baz.test, qux.test'
|
|
end
|
|
|
|
def test_fails_gracefully
|
|
stub_request(:patch, /domains\/contacts/)
|
|
.to_return(status: 400,
|
|
body: { message: 'epic fail' }.to_json,
|
|
headers: { 'Content-type' => Mime[:json] })
|
|
|
|
visit registrar_domains_url
|
|
click_link 'Bulk change'
|
|
|
|
find('.current_tech_contact').fill_in 'Current contact ID', with: 'william-001'
|
|
find('.new_tech_contact').fill_in 'New contact ID', with: 'john-001'
|
|
click_on 'Replace technical contacts'
|
|
|
|
assert_text 'epic fail'
|
|
assert_field 'Current contact ID', with: 'william-001'
|
|
assert_field 'New contact ID', with: 'john-001'
|
|
end
|
|
end
|