internetee-registry/test/system/admin_area/registrars_test.rb
2019-10-09 15:55:27 +03:00

93 lines
No EOL
2.6 KiB
Ruby

require 'application_system_test_case'
class AdminRegistrarsSystemTest < ApplicationSystemTestCase
include ActionView::Helpers::NumberHelper
setup do
@registrar = registrars(:bestnames)
@original_default_language = Setting.default_language
sign_in users(:admin)
end
teardown do
Setting.default_language = @original_default_language
end
def test_creates_new_registrar
assert_nil Registrar.find_by(name: 'Acme Ltd')
visit admin_registrars_path
click_on 'New registrar'
fill_in 'Name', with: 'Acme Ltd'
fill_in 'Reg no', with: '1234'
fill_in 'Contact e-mail', with: 'any@acme.test'
fill_in 'Street', with: 'any'
fill_in 'City', with: 'any'
fill_in 'State / Province', with: 'any'
fill_in 'Zip', with: 'any'
select 'United States', from: 'Country'
fill_in 'Accounting customer code', with: 'test'
fill_in 'Code', with: 'test'
click_on 'Create registrar'
assert_text 'Registrar has been successfully created'
assert_text 'Acme Ltd'
end
def test_updates_registrar
assert_not_equal 'New name', @registrar.name
visit admin_registrar_path(@registrar)
click_link_or_button 'Edit'
fill_in 'Name', with: 'New name'
click_link_or_button 'Update registrar'
assert_text 'Registrar has been successfully updated'
assert_text 'New name'
end
def test_deletes_registrar
registrar = registrars(:not_in_use)
assert_equal 'Not in use', registrar.name
visit admin_registrar_path(registrar)
click_on 'Delete'
assert_text 'Registrar has been successfully deleted'
assert_no_text 'Not in use'
end
def test_registrar_cannot_be_deleted_when_in_use
visit admin_registrar_url(@registrar)
click_on 'Delete'
assert_text 'Cannot delete record because dependent domains exist'
end
def test_pre_populates_default_language_upon_creation
Setting.default_language = 'en'
visit new_admin_registrar_path
assert_field 'Language', with: 'en'
end
def test_code_cannot_be_edited
visit edit_admin_registrar_path(@registrar)
assert_no_field 'Code'
end
def test_shows_registrar_details
@registrar.accounting_customer_code = 'US0001'
@registrar.vat_no = 'US12345'
@registrar.vat_rate = 5
@registrar.language = 'en'
@registrar.billing_email = 'billing@bestnames.test'
@registrar.save(validate: false)
visit admin_registrar_path(@registrar)
assert_text 'Accounting customer code US0001'
assert_text 'VAT number US12345'
assert_text "VAT rate #{number_to_percentage(5, precision: 1)}"
assert_text 'Language English'
assert_text 'billing@bestnames.test'
end
end