internetee-registry/test/system/admin_area/registrars/edit_test.rb
Maciej Szlosarczyk 526a9ccd58
Change test structure to follow closer newer Rails 5 rules
* Create new class called ApplicationIntegrationTest, so we don't have
  to override ActionDispatch::IntegrationTest
* Move UI tests to inherit from ApplicationSystemTestCase
* Existing REST API or EPP tests inherit from
  ApplicationIntegrationTest.
* Move `require 'application_system_test_case'` at the end of
  `test_helper`

I don't particularly agree with the Rails' convention of treating UI
tests as system tests and API tests as integration tests, but I see no
benefit in actively fighting against it.
2018-07-27 09:36:27 +03:00

69 lines
2.2 KiB
Ruby

require 'test_helper'
class AdminAreaEditRegistrarTest < ApplicationSystemTestCase
setup do
sign_in users(:admin)
@registrar = registrars(:bestnames)
end
def test_attributes_update
visit admin_registrar_path(@registrar)
click_link_or_button 'Edit'
fill_in 'Name', with: 'new name'
fill_in 'Reg no', with: '4727673'
fill_in 'Contact phone', with: '2570937'
fill_in 'Website', with: 'http://new.example.com'
fill_in 'Contact e-mail', with: 'new@example.com'
fill_in 'Street', with: 'new street'
fill_in 'Zip', with: 'new zip'
fill_in 'City', with: 'new city'
fill_in 'State / Province', with: 'new state'
select 'Germany', from: 'Country'
fill_in 'VAT number', with: '2386449'
fill_in 'Accounting customer code', with: '866477'
fill_in 'Billing email', with: 'new-billing@example.com'
select 'Estonian', from: 'Language'
click_link_or_button 'Update registrar'
@registrar.reload
assert_equal 'new name', @registrar.name
assert_equal '4727673', @registrar.reg_no
assert_equal '2570937', @registrar.phone
assert_equal 'http://new.example.com', @registrar.website
assert_equal 'new@example.com', @registrar.email
assert_equal 'new street', @registrar.street
assert_equal 'new zip', @registrar.zip
assert_equal 'new city', @registrar.city
assert_equal 'new state', @registrar.state
assert_equal Country.new('DE'), @registrar.country
assert_equal '2386449', @registrar.vat_no
assert_equal '866477', @registrar.accounting_customer_code
assert_equal 'new-billing@example.com', @registrar.billing_email
assert_equal 'et', @registrar.language
assert_current_path admin_registrar_path(@registrar)
assert_text 'Registrar has been successfully updated'
end
def test_code_cannot_be_changed
visit admin_registrar_path(@registrar)
click_link_or_button 'Edit'
assert_no_field 'Code'
end
def test_fails_gracefully
visit admin_registrar_path(@registrar)
click_link_or_button 'Edit'
fill_in 'Name', with: 'Good Names'
click_link_or_button 'Update registrar'
assert_field 'Name', with: 'Good Names'
assert_text 'Name has already been taken'
end
end