diff --git a/app/controllers/admin/registrars_controller.rb b/app/controllers/admin/registrars_controller.rb
index 6eb2e0bcf..1a92e67ed 100644
--- a/app/controllers/admin/registrars_controller.rb
+++ b/app/controllers/admin/registrars_controller.rb
@@ -58,12 +58,12 @@ module Admin
def registrar_params
params.require(:registrar).permit(:name,
:reg_no,
- :street,
- :city,
- :state,
- :zip,
- :country_code,
:email,
+ :address_street,
+ :address_zip,
+ :address_city,
+ :address_state,
+ :address_country_code,
:phone,
:website,
:code,
diff --git a/app/models/registrar.rb b/app/models/registrar.rb
index d1da1c317..1d2f2b4bd 100644
--- a/app/models/registrar.rb
+++ b/app/models/registrar.rb
@@ -13,8 +13,10 @@ class Registrar < ActiveRecord::Base
delegate :balance, to: :cash_account, allow_nil: true
- validates :name, :reg_no, :country_code, :email, :code, presence: true
+ validates :name, :reg_no, :email, :code, presence: true
validates :name, :code, uniqueness: true
+ validates :address_street, :address_zip, :address_city, :address_state, :address_country_code,
+ presence: true
validates :accounting_customer_code, presence: true
validates :language, presence: true
validates :reference_no, format: Billing::ReferenceNo::REGEXP
@@ -73,11 +75,11 @@ class Registrar < ActiveRecord::Base
buyer: self,
buyer_name: name,
buyer_reg_no: reg_no,
- buyer_country_code: country_code,
- buyer_state: state,
- buyer_street: street,
- buyer_city: city,
- buyer_zip: zip,
+ buyer_country_code: address_country_code,
+ buyer_state: address_state,
+ buyer_street: address_street,
+ buyer_city: address_city,
+ buyer_zip: address_zip,
buyer_phone: phone,
buyer_url: website,
buyer_email: email,
@@ -104,7 +106,7 @@ class Registrar < ActiveRecord::Base
end
def address
- [street, city, state, zip].reject(&:blank?).compact.join(', ')
+ [address_street, address_city, address_state, address_zip].reject(&:blank?).compact.join(', ')
end
def to_s
@@ -112,7 +114,7 @@ class Registrar < ActiveRecord::Base
end
def country
- Country.new(country_code)
+ Country.new(address_country_code)
end
def code=(code)
diff --git a/app/views/admin/registrars/_form.html.erb b/app/views/admin/registrars/_form.html.erb
index 71c4fb68f..65d18f2e7 100644
--- a/app/views/admin/registrars/_form.html.erb
+++ b/app/views/admin/registrars/_form.html.erb
@@ -59,64 +59,7 @@
-
-
-
-
-
- <%= t(:address) %>
-
-
-
-
-
-
-
+ <%= render 'admin/registrars/form/address', f: f %>
<%= render 'admin/registrars/form/billing', f: f %>
diff --git a/app/views/admin/registrars/form/_address.html.erb b/app/views/admin/registrars/form/_address.html.erb
new file mode 100644
index 000000000..5956e1c8c
--- /dev/null
+++ b/app/views/admin/registrars/form/_address.html.erb
@@ -0,0 +1,61 @@
+
+
+
+
+
+ <%= t '.header' %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
<%= t '.hint' %>
+
+
+
+
\ No newline at end of file
diff --git a/app/views/admin/registrars/show.html.erb b/app/views/admin/registrars/show.html.erb
index 65435ef77..62e7a5df1 100644
--- a/app/views/admin/registrars/show.html.erb
+++ b/app/views/admin/registrars/show.html.erb
@@ -28,23 +28,23 @@
- <%= render 'details', registrar: @registrar %>
+ <%= render 'admin/registrars/show/details', registrar: @registrar %>
- <%= render 'contacts', registrar: @registrar %>
- <%= render 'billing', registrar: @registrar %>
- <%= render 'preferences', registrar: registrar %>
+ <%= render 'admin/registrars/show/contacts', registrar: @registrar %>
+ <%= render 'admin/registrars/show/billing', registrar: @registrar %>
+ <%= render 'admin/registrars/show/preferences', registrar: registrar %>
- <%= render 'users', registrar: @registrar %>
+ <%= render 'admin/registrars/show/users', registrar: @registrar %>
- <%= render 'white_ips', registrar: @registrar %>
+ <%= render 'admin/registrars/show/white_ips', registrar: @registrar %>
diff --git a/app/views/admin/registrars/_billing.html.erb b/app/views/admin/registrars/show/_billing.html.erb
similarity index 99%
rename from app/views/admin/registrars/_billing.html.erb
rename to app/views/admin/registrars/show/_billing.html.erb
index 8b2e83ee9..7ed9826ad 100644
--- a/app/views/admin/registrars/_billing.html.erb
+++ b/app/views/admin/registrars/show/_billing.html.erb
@@ -21,4 +21,4 @@
<%= registrar.reference_no %>
-
+
\ No newline at end of file
diff --git a/app/views/admin/registrars/_contacts.html.erb b/app/views/admin/registrars/show/_contacts.html.erb
similarity index 58%
rename from app/views/admin/registrars/_contacts.html.erb
rename to app/views/admin/registrars/show/_contacts.html.erb
index 7599c68c3..f467e6a51 100644
--- a/app/views/admin/registrars/_contacts.html.erb
+++ b/app/views/admin/registrars/show/_contacts.html.erb
@@ -5,17 +5,17 @@
- - <%= t(:country) %>
+ - <%= Registrar.human_attribute_name :country %>
- <%= @registrar.country %>
- - <%= t(:address) %>
+ - <%= Registrar.human_attribute_name :address %>
- <%= @registrar.address %>
- - <%= t(:contact_phone) %>
+ - <%= Registrar.human_attribute_name :phone %>
- <%= @registrar.phone %>
- - <%= t(:contact_email) %>
+ - <%= Registrar.human_attribute_name :email %>
- <%= @registrar.email %>
-
+
\ No newline at end of file
diff --git a/app/views/admin/registrars/_details.html.erb b/app/views/admin/registrars/show/_details.html.erb
similarity index 91%
rename from app/views/admin/registrars/_details.html.erb
rename to app/views/admin/registrars/show/_details.html.erb
index 3fc884e5c..9ae9aac3f 100644
--- a/app/views/admin/registrars/_details.html.erb
+++ b/app/views/admin/registrars/show/_details.html.erb
@@ -15,7 +15,7 @@
<%= registrar.code %>
<%= Registrar.human_attribute_name :balance %>
- <%= registrar.balance %>
+ <%= number_to_currency registrar.balance %>
<%= Registrar.human_attribute_name :website %>
<%= registrar.website %>
diff --git a/app/views/admin/registrars/_preferences.html.erb b/app/views/admin/registrars/show/_preferences.html.erb
similarity index 100%
rename from app/views/admin/registrars/_preferences.html.erb
rename to app/views/admin/registrars/show/_preferences.html.erb
diff --git a/app/views/admin/registrars/_users.html.erb b/app/views/admin/registrars/show/_users.html.erb
similarity index 100%
rename from app/views/admin/registrars/_users.html.erb
rename to app/views/admin/registrars/show/_users.html.erb
diff --git a/app/views/admin/registrars/_white_ips.html.erb b/app/views/admin/registrars/show/_white_ips.html.erb
similarity index 100%
rename from app/views/admin/registrars/_white_ips.html.erb
rename to app/views/admin/registrars/show/_white_ips.html.erb
diff --git a/app/views/registrant/registrars/show.haml b/app/views/registrant/registrars/show.haml
index 678e387de..f5e0f40f4 100644
--- a/app/views/registrant/registrars/show.haml
+++ b/app/views/registrant/registrars/show.haml
@@ -13,7 +13,7 @@
%h3.panel-title= t(:general)
.panel-body
%dl.dl-horizontal
- %dt= t(:name)
+ %dt= Registrar.human_attribute_name :name
%dd= @registrar.name
%dt= Registrar.human_attribute_name :reg_no
@@ -22,7 +22,7 @@
%dt= Registrar.human_attribute_name :vat_no
%dd= @registrar.vat_no
- %dt= t(:id)
+ %dt= Registrar.human_attribute_name :code
%dd= @registrar.code
.col-md-6
@@ -31,14 +31,14 @@
%h3.panel-title= t(:contact)
.panel-body
%dl.dl-horizontal
- %dt= t(:country)
+ %dt= Registrar.human_attribute_name :country
%dd= @registrar.country
- %dt= t(:address)
+ %dt= Registrar.human_attribute_name :address
%dd= @registrar.address
- %dt= t(:contact_phone)
+ %dt= Registrar.human_attribute_name :phone
%dd= @registrar.phone
- %dt= t(:contact_email)
+ %dt= Registrar.human_attribute_name :email
%dd= @registrar.email
diff --git a/config/locales/admin/registrars.en.yml b/config/locales/admin/registrars.en.yml
index 43f607911..e08af5ad1 100644
--- a/config/locales/admin/registrars.en.yml
+++ b/config/locales/admin/registrars.en.yml
@@ -13,12 +13,29 @@ en:
delete_btn: Delete
delete_btn_confirm: Are you sure you want delete registrar?
+ details:
+ header: Details
+
+ contacts:
+ header: Contacts
+
+ billing:
+ header: Billing
+
+ preferences:
+ header: Preferences
+
+ users:
+ header: API Users
+ new_btn: New API user
+
+ white_ips:
+ header: Whitelisted IPs
+ new_btn: New whitelisted IP
+
edit:
header: Edit registrar
- billing:
- header: Billing
-
create:
created: Registrar has been successfully created
@@ -33,27 +50,14 @@ en:
create_btn: Create registrar
update_btn: Update registrar
+ address:
+ header: Address
+ hint: Used as a billing address
+
billing:
header: Billing
no_reference_number_hint: Reference number will be generated automatically
disabled_reference_number_hint: Reference number cannot be changed
preferences:
- header: Preferences
-
- details:
- header: Details
-
- contacts:
- header: Contacts
-
- preferences:
- header: Preferences
-
- users:
- header: API Users
- new_btn: New API user
-
- white_ips:
- header: Whitelisted IPs
- new_btn: New whitelisted IP
+ header: Preferences
\ No newline at end of file
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 5033588f6..066f569e1 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -375,8 +375,6 @@ en:
choose: 'Choose...'
created_before: 'Created before'
created_after: 'Created after'
- contact_phone: 'Contact phone'
- contact_email: 'Contact e-mail'
address_help: 'Street name, house no - apartment no, city, county, country, zip'
download: 'Download'
failed_to_create_certificate: 'Failed to create certificate!'
diff --git a/db/migrate/20190510090240_prefix_registrars_address_columns.rb b/db/migrate/20190510090240_prefix_registrars_address_columns.rb
new file mode 100644
index 000000000..4c2f674bc
--- /dev/null
+++ b/db/migrate/20190510090240_prefix_registrars_address_columns.rb
@@ -0,0 +1,9 @@
+class PrefixRegistrarsAddressColumns < ActiveRecord::Migration
+ def change
+ rename_column :registrars, :street, :address_street
+ rename_column :registrars, :zip, :address_zip
+ rename_column :registrars, :city, :address_city
+ rename_column :registrars, :state, :address_state
+ rename_column :registrars, :country_code, :address_country_code
+ end
+end
diff --git a/db/migrate/20190510102549_change_registrars_address_parts_to_not_null.rb b/db/migrate/20190510102549_change_registrars_address_parts_to_not_null.rb
new file mode 100644
index 000000000..de3f5dbca
--- /dev/null
+++ b/db/migrate/20190510102549_change_registrars_address_parts_to_not_null.rb
@@ -0,0 +1,8 @@
+class ChangeRegistrarsAddressPartsToNotNull < ActiveRecord::Migration
+ def change
+ change_column_null :registrars, :address_street, false
+ change_column_null :registrars, :address_zip, false
+ change_column_null :registrars, :address_city, false
+ change_column_null :registrars, :address_state, false
+ end
+end
diff --git a/db/structure.sql b/db/structure.sql
index cc0931e58..fdd8b19ce 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -2188,11 +2188,11 @@ CREATE TABLE public.registrars (
phone character varying,
email character varying NOT NULL,
billing_email character varying,
- country_code character varying NOT NULL,
- state character varying,
- city character varying,
- street character varying,
- zip character varying,
+ address_country_code character varying NOT NULL,
+ address_state character varying NOT NULL,
+ address_city character varying NOT NULL,
+ address_street character varying NOT NULL,
+ address_zip character varying NOT NULL,
code character varying NOT NULL,
website character varying,
accounting_customer_code character varying NOT NULL,
@@ -4945,3 +4945,7 @@ INSERT INTO schema_migrations (version) VALUES ('20190328151838');
INSERT INTO schema_migrations (version) VALUES ('20190415120246');
+INSERT INTO schema_migrations (version) VALUES ('20190510090240');
+
+INSERT INTO schema_migrations (version) VALUES ('20190510102549');
+
diff --git a/spec/factories/registrar.rb b/spec/factories/registrar.rb
index 82c492bb0..07642e3a8 100644
--- a/spec/factories/registrar.rb
+++ b/spec/factories/registrar.rb
@@ -3,12 +3,12 @@ FactoryBot.define do
sequence(:name) { |n| "test#{n}" }
sequence(:code) { |n| "test#{n}" }
sequence(:reg_no) { |n| "test#{n}" }
- street 'test'
- city 'test'
- state 'test'
- zip 'test'
email 'test@test.com'
- country_code 'US'
+ address_street 'test'
+ address_zip 'test'
+ address_city 'test'
+ address_state 'test'
+ address_country_code 'US'
accounting_customer_code 'test'
language 'en'
sequence(:reference_no) { |n| "1234#{n}" }
diff --git a/test/fixtures/registrars.yml b/test/fixtures/registrars.yml
index 7f7f97ad2..0040ebfef 100644
--- a/test/fixtures/registrars.yml
+++ b/test/fixtures/registrars.yml
@@ -3,11 +3,11 @@ bestnames:
reg_no: 1234
code: bestnames
email: info@bestnames.test
- street: Main Street
- zip: 12345
- city: New York
- state: New York
- country_code: US
+ address_street: Main Street 1
+ address_zip: 1234
+ address_city: NY
+ address_state: NY State
+ address_country_code: US
accounting_customer_code: bestnames
language: en
billing_email: billing@bestnames.test
@@ -19,18 +19,26 @@ goodnames:
reg_no: 12345
code: goodnames
email: info@goodnames.test
- country_code: DE
+ address_street: Main Street 1
+ address_zip: 1234
+ address_city: NY
+ address_state: NY State
+ address_country_code: US
vat_no: DE123456789
accounting_customer_code: goodnames
language: en
reference_no: 26
not_in_use:
- name: any
+ name: Not in use
reg_no: any
code: any
email: any@example.com
- country_code: US
+ address_street: Main Street 1
+ address_zip: 1234
+ address_city: NY
+ address_state: NY State
+ address_country_code: US
vat_no: any
accounting_customer_code: any
language: en
@@ -41,7 +49,11 @@ invalid:
reg_no: any
code: another
email: any
- country_code: US
+ address_street: Main Street 1
+ address_zip: 1234
+ address_city: NY
+ address_state: NY State
+ address_country_code: US
vat_no: any
accounting_customer_code: any
language: en
diff --git a/test/models/registrar/vat_test.rb b/test/models/registrar/vat_test.rb
index 2dc5de3ce..aae017690 100644
--- a/test/models/registrar/vat_test.rb
+++ b/test/models/registrar/vat_test.rb
@@ -15,7 +15,7 @@ class RegistrarVATTest < ActiveSupport::TestCase
def test_apply_vat_rate_from_registry_when_registrar_is_local_vat_payer
Setting.registry_country_code = 'US'
- @registrar.country_code = 'US'
+ @registrar.address_country_code = 'US'
Registry.instance.stub(:vat_rate, BigDecimal('5.5')) do
assert_equal BigDecimal('5.5'), @registrar.effective_vat_rate
@@ -32,13 +32,13 @@ class RegistrarVATTest < ActiveSupport::TestCase
def test_apply_vat_rate_from_registrar_when_registrar_is_foreign_vat_payer
Setting.registry_country_code = 'US'
- @registrar.country_code = 'DE'
+ @registrar.address_country_code = 'DE'
@registrar.vat_rate = BigDecimal('5.6')
assert_equal BigDecimal('5.6'), @registrar.effective_vat_rate
end
def test_require_vat_rate_when_registrar_is_foreign_vat_payer_and_vat_no_is_absent
- @registrar.country_code = 'DE'
+ @registrar.address_country_code = 'DE'
@registrar.vat_no = ''
@registrar.vat_rate = ''
@@ -50,7 +50,7 @@ class RegistrarVATTest < ActiveSupport::TestCase
end
def test_require_no_vat_rate_when_registrar_is_foreign_vat_payer_and_vat_no_is_present
- @registrar.country_code = 'DE'
+ @registrar.address_country_code = 'DE'
@registrar.vat_no = 'valid'
@registrar.vat_rate = 1
@@ -61,7 +61,7 @@ class RegistrarVATTest < ActiveSupport::TestCase
end
def test_vat_rate_validation
- @registrar.country_code = 'DE'
+ @registrar.address_country_code = 'DE'
@registrar.vat_no = ''
@registrar.vat_rate = -1
@@ -78,7 +78,7 @@ class RegistrarVATTest < ActiveSupport::TestCase
end
def test_serializes_and_deserializes_vat_rate
- @registrar.country_code = 'DE'
+ @registrar.address_country_code = 'DE'
@registrar.vat_rate = BigDecimal('25.5')
@registrar.save!
@registrar.reload
diff --git a/test/models/registrar_test.rb b/test/models/registrar_test.rb
index 312822a8f..7e31f1649 100644
--- a/test/models/registrar_test.rb
+++ b/test/models/registrar_test.rb
@@ -5,8 +5,8 @@ class RegistrarTest < ActiveSupport::TestCase
@registrar = registrars(:bestnames)
end
- def test_default_fixture_is_valid
- assert @registrar.valid?, proc { @registrar.errors.full_messages }
+ def test_valid_registrar_is_valid
+ assert valid_registrar.valid?, proc { valid_registrar.errors.full_messages }
end
def test_invalid_fixture_is_invalid
@@ -14,33 +14,33 @@ class RegistrarTest < ActiveSupport::TestCase
end
def test_invalid_without_name
- @registrar.name = ''
- assert @registrar.invalid?
+ registrar = valid_registrar
+ registrar.name = ''
+ assert registrar.invalid?
end
def test_invalid_without_reg_no
- @registrar.reg_no = ''
- assert @registrar.invalid?
+ registrar = valid_registrar
+ registrar.reg_no = ''
+ assert registrar.invalid?
end
def test_invalid_without_email
- @registrar.email = ''
- assert @registrar.invalid?
+ registrar = valid_registrar
+ registrar.email = ''
+ assert registrar.invalid?
end
def test_invalid_without_accounting_customer_code
- @registrar.accounting_customer_code = ''
- assert @registrar.invalid?
- end
-
- def test_invalid_without_country_code
- @registrar.country_code = ''
- assert @registrar.invalid?
+ registrar = valid_registrar
+ registrar.accounting_customer_code = ''
+ assert registrar.invalid?
end
def test_invalid_without_language
- @registrar.language = ''
- assert @registrar.invalid?
+ registrar = valid_registrar
+ registrar.language = ''
+ assert registrar.invalid?
end
def test_has_default_language
@@ -55,10 +55,6 @@ class RegistrarTest < ActiveSupport::TestCase
assert_equal 'de', registrar.language
end
- def test_full_address
- assert_equal 'Main Street, New York, New York, 12345', @registrar.address
- end
-
def test_validates_reference_number_format
@registrar.reference_no = '1'
assert @registrar.invalid?
@@ -96,4 +92,28 @@ class RegistrarTest < ActiveSupport::TestCase
Setting.days_to_keep_invoices_active = @original_days_to_keep_invoices_active_setting
end
+
+ def test_invalid_without_address
+ registrar = valid_registrar
+ address_parts = %i[street zip city state country_code]
+
+ address_parts.each do |address_part|
+ attribute_name = "address_#{address_part}"
+ registrar.public_send("#{attribute_name}=", '')
+ assert registrar.invalid?, "#{attribute_name} should be required"
+ registrar.public_send("#{attribute_name}=", 'some')
+ end
+ end
+
+ def test_full_address
+ registrar = Registrar.new(address_street: 'Main Street 1', address_zip: '1234',
+ address_city: 'NY', address_state: 'NY State')
+ assert_equal 'Main Street 1, NY, NY State, 1234', registrar.address
+ end
+
+ private
+
+ def valid_registrar
+ registrars(:bestnames)
+ end
end
diff --git a/test/system/admin_area/contact_versions_test.rb b/test/system/admin_area/contact_versions_test.rb
index d35d72e36..5028b83fe 100644
--- a/test/system/admin_area/contact_versions_test.rb
+++ b/test/system/admin_area/contact_versions_test.rb
@@ -4,6 +4,8 @@ class ContactVersionsTest < ApplicationSystemTestCase
def setup
super
+ @registrar = registrars(:bestnames)
+
create_contact_with_history
sign_in users(:admin)
end
@@ -16,18 +18,13 @@ class ContactVersionsTest < ApplicationSystemTestCase
def create_contact_with_history
sql = <<-SQL.squish
- INSERT INTO registrars (id, name, reg_no, email, country_code, code,
- accounting_customer_code, language, reference_no)
- VALUES (75, 'test_registrar', 'test123', 'test@test.com', 'EE', 'TEST123',
- 'test123', 'en', '1234');
-
INSERT INTO contacts (id, code, email, auth_info, registrar_id)
- VALUES (75, 'test_code', 'test@inbox.test', '8b4d462aa04194ca78840a', 75);
+ VALUES (75, 'test_code', 'test@inbox.test', '8b4d462aa04194ca78840a', #{@registrar.id});
INSERT INTO log_contacts (item_type, item_id, event, whodunnit, object,
object_changes, created_at, session, children, ident_updated_at, uuid)
VALUES ('Contact', 75, 'update', '1-AdminUser',
- '{"id": 75, "code": "test_code", "auth_info": "8b4d462aa04194ca78840a", "registrar_id": 75, "old_field": "value"}',
+ '{"id": 75, "code": "test_code", "auth_info": "8b4d462aa04194ca78840a", "registrar_id": #{@registrar.id}, "old_field": "value"}',
'{"other_made_up_field": "value"}',
'2018-04-23 15:50:48.113491', '2018-04-23 12:44:56',
'{"legal_documents":[null]}', null, null
@@ -42,16 +39,20 @@ class ContactVersionsTest < ApplicationSystemTestCase
end
def test_removed_fields_are_not_causing_errors_in_index_view
+ assert_equal 'Best Names', @registrar.name
+
visit admin_contact_versions_path
- assert_text 'test_registrar'
+ assert_text 'Best Names'
assert_text 'update 23.04.18, 18:50'
end
def test_removed_fields_are_not_causing_errors_in_details_view
+ assert_equal 'Best Names', @registrar.name
+
version_id = Contact.find(75).versions.last
visit admin_contact_version_path(version_id)
- assert_text 'test_registrar'
+ assert_text 'Best Names'
assert_text '23.04.18, 18:50 update 1-AdminUser'
end
-end
+end
\ No newline at end of file
diff --git a/test/system/admin_area/domain_versions_test.rb b/test/system/admin_area/domain_versions_test.rb
index f93e2b153..0d7637f45 100644
--- a/test/system/admin_area/domain_versions_test.rb
+++ b/test/system/admin_area/domain_versions_test.rb
@@ -4,6 +4,8 @@ class DomainVersionsTest < ApplicationSystemTestCase
def setup
super
+ @registrar = registrars(:bestnames)
+
create_domain_with_history
sign_in users(:admin)
end
@@ -16,22 +18,17 @@ class DomainVersionsTest < ApplicationSystemTestCase
def create_domain_with_history
sql = <<-SQL.squish
- INSERT INTO registrars (id, name, reg_no, email, country_code, code,
- accounting_customer_code, language, reference_no)
- VALUES (54, 'test_registrar', 'test123', 'test@test.com', 'EE', 'TEST123',
- 'test123', 'en', '1234');
-
INSERT INTO contacts (id, code, email, auth_info, registrar_id)
- VALUES (54, 'test_code', 'test@inbox.test', '8b4d462aa04194ca78840a', 54);
+ VALUES (54, 'test_code', 'test@inbox.test', '8b4d462aa04194ca78840a', #{@registrar.id});
INSERT INTO domains (id, registrar_id, valid_to, registrant_id,
transfer_code)
- VALUES (54, 54, '2018-06-23T12:14:02.732+03:00', 54, 'transfer_code');
+ VALUES (54, #{@registrar.id}, '2018-06-23T12:14:02.732+03:00', 54, 'transfer_code');
INSERT INTO log_domains (item_type, item_id, event, whodunnit, object,
object_changes, created_at, session, children)
VALUES ('Domain', 54, 'update', '1-AdminUser',
- '{"id": 54, "registrar_id": 54, "valid_to": "2018-07-23T12:14:05.583+03:00", "registrant_id": 54, "transfer_code": "transfer_code", "valid_from": "2017-07-23T12:14:05.583+03:00"}',
+ '{"id": 54, "registrar_id": #{@registrar.id}, "valid_to": "2018-07-23T12:14:05.583+03:00", "registrant_id": 54, "transfer_code": "transfer_code", "valid_from": "2017-07-23T12:14:05.583+03:00"}',
'{"foo": "bar", "other_made_up_field": "value"}',
'2018-04-23 15:50:48.113491', '2018-04-23 12:44:56',
'{"null_fracdmin_contacts":[108],"tech_contacts":[109],"nameservers":[],"dnskeys":[],"legal_documents":[null],"registrant":[1]}'
@@ -45,17 +42,21 @@ class DomainVersionsTest < ApplicationSystemTestCase
end
def test_removed_fields_are_not_causing_errors_in_index_view
+ assert_equal 'Best Names', @registrar.name
+
visit admin_domain_versions_path
- assert_text 'test_registrar'
- assert_text 'test_registrar update 23.04.18, 18:50'
+ assert_text 'Best Names'
+ assert_text 'Best Names update 23.04.18, 18:50'
end
def test_removed_fields_are_not_causing_errors_in_details_view
+ assert_equal 'Best Names', @registrar.name
+
version_id = Domain.find(54).versions.last
visit admin_domain_version_path(version_id)
- assert_text 'test_registrar'
+ assert_text 'Best Names'
assert_text '23.04.18, 18:50 update 1-AdminUser'
end
-end
+end
\ No newline at end of file
diff --git a/test/system/admin_area/registrars/delete_test.rb b/test/system/admin_area/registrars/delete_test.rb
deleted file mode 100644
index f0ecaecc6..000000000
--- a/test/system/admin_area/registrars/delete_test.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-require 'test_helper'
-
-class AdminAreaDeleteRegistrarTest < ApplicationSystemTestCase
- setup do
- sign_in users(:admin)
- end
-
- def test_can_be_deleted_when_not_in_use
- visit admin_registrar_url(registrars(:not_in_use))
-
- assert_difference 'Registrar.count', -1 do
- click_link_or_button 'Delete'
- end
-
- assert_current_path admin_registrars_path
- assert_text 'Registrar has been successfully deleted'
- end
-
- def test_cannot_be_deleted_when_in_use
- registrar = registrars(:bestnames)
- visit admin_registrar_url(registrar)
-
- assert_no_difference 'Registrar.count' do
- click_link_or_button 'Delete'
- end
-
- assert_current_path admin_registrar_path(registrar)
- assert_text 'Cannot delete record because dependent domains exist'
- end
-end
diff --git a/test/system/admin_area/registrars/details_test.rb b/test/system/admin_area/registrars/details_test.rb
deleted file mode 100644
index be0ac1566..000000000
--- a/test/system/admin_area/registrars/details_test.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-require 'test_helper'
-
-class AdminAreaRegistrarDetailsTest < ApplicationSystemTestCase
- include ActionView::Helpers::NumberHelper
-
- setup do
- sign_in users(:admin)
- @registrar = registrars(:bestnames)
- end
-
- def test_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 5.0%'
- assert_text 'Language English'
- assert_text 'billing@bestnames.test'
- end
-end
diff --git a/test/system/admin_area/registrars/edit_test.rb b/test/system/admin_area/registrars/edit_test.rb
deleted file mode 100644
index 9cb9d5020..000000000
--- a/test/system/admin_area/registrars/edit_test.rb
+++ /dev/null
@@ -1,69 +0,0 @@
-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
diff --git a/test/system/admin_area/registrars/new_test.rb b/test/system/admin_area/registrars/new_test.rb
deleted file mode 100644
index 90425a714..000000000
--- a/test/system/admin_area/registrars/new_test.rb
+++ /dev/null
@@ -1,50 +0,0 @@
-require 'test_helper'
-
-class AdminAreaNewRegistrarTest < ApplicationSystemTestCase
- setup do
- sign_in users(:admin)
- end
-
- def test_new_registrar_creation_with_required_params
- visit admin_registrars_url
- click_link_or_button 'New registrar'
-
- fill_in 'Name', with: 'Brand new names'
- fill_in 'Reg no', with: '55555555'
- fill_in 'Contact e-mail', with: 'test@example.com'
- select 'United States', from: 'Country'
- fill_in 'Accounting customer code', with: 'test'
- fill_in 'Code', with: 'test'
-
- assert_difference 'Registrar.count' do
- click_link_or_button 'Create registrar'
- end
-
- assert_current_path admin_registrar_path(Registrar.last)
- assert_text 'Registrar has been successfully created'
- end
-
- def test_fails_gracefully
- visit admin_registrars_url
- click_link_or_button 'New registrar'
-
- fill_in 'Name', with: 'Best Names'
- fill_in 'Reg no', with: '55555555'
- fill_in 'Contact e-mail', with: 'test@example.com'
- fill_in 'Accounting customer code', with: 'test'
- fill_in 'Code', with: 'test'
-
- assert_no_difference 'Registrar.count' do
- click_link_or_button 'Create registrar'
- end
- assert_field 'Name', with: 'Best Names'
- assert_text 'Name has already been taken'
- end
-
- def test_pre_populated_default_language
- Setting.default_language = 'en'
- visit admin_registrars_url
- click_link_or_button 'New registrar'
- assert_field 'Language', with: 'en'
- end
-end
diff --git a/test/system/admin_area/registrars_test.rb b/test/system/admin_area/registrars_test.rb
new file mode 100644
index 000000000..3d3e1c4f0
--- /dev/null
+++ b/test/system/admin_area/registrars_test.rb
@@ -0,0 +1,88 @@
+require 'test_helper'
+
+class AdminRegistrarsSystemTest < ApplicationSystemTestCase
+ include ActionView::Helpers::NumberHelper
+
+ setup do
+ @registrar = registrars(:bestnames)
+ sign_in users(:admin)
+ 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
\ No newline at end of file