mirror of
https://github.com/internetee/registry.git
synced 2025-07-03 09:43:36 +02:00
Test on domain adding
This commit is contained in:
parent
211964c296
commit
2a4c46e870
3 changed files with 48 additions and 2 deletions
|
@ -27,6 +27,7 @@ class Domain < ActiveRecord::Base
|
||||||
delegate :name, to: :registrar, prefix: true
|
delegate :name, to: :registrar, prefix: true
|
||||||
|
|
||||||
before_create :generate_auth_info
|
before_create :generate_auth_info
|
||||||
|
after_create :attach_default_contacts
|
||||||
|
|
||||||
validates :name_dirty, domain_name: true, uniqueness: true
|
validates :name_dirty, domain_name: true, uniqueness: true
|
||||||
validates :period, numericality: { only_integer: true }
|
validates :period, numericality: { only_integer: true }
|
||||||
|
@ -106,6 +107,11 @@ class Domain < ActiveRecord::Base
|
||||||
end while self.class.exists?(auth_info: auth_info)
|
end while self.class.exists?(auth_info: auth_info)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def attach_default_contacts
|
||||||
|
tech_contacts << owner_contact if tech_contacts_count.zero?
|
||||||
|
admin_contacts << owner_contact if admin_contacts_count.zero? && owner_contact.citizen?
|
||||||
|
end
|
||||||
|
|
||||||
def tech_contacts_count
|
def tech_contacts_count
|
||||||
domain_contacts.select { |x| x.contact_type == DomainContact::TECH }.count
|
domain_contacts.select { |x| x.contact_type == DomainContact::TECH }.count
|
||||||
end
|
end
|
||||||
|
|
|
@ -19,13 +19,13 @@
|
||||||
.col-md-6
|
.col-md-6
|
||||||
.form-group.has-feedback
|
.form-group.has-feedback
|
||||||
= f.label :registrar
|
= f.label :registrar
|
||||||
= text_field_tag(:registrar, params[:registrar], class: 'form-control js-registrar-typeahead', placeholder: t('shared.registrar_name'), autocomplete: 'off')
|
= text_field_tag(:domain_registrar, params[:registrar], class: 'form-control js-registrar-typeahead', placeholder: t('shared.registrar_name'), autocomplete: 'off')
|
||||||
%span.glyphicon.glyphicon-ok.form-control-feedback.js-typeahead-ok.hidden
|
%span.glyphicon.glyphicon-ok.form-control-feedback.js-typeahead-ok.hidden
|
||||||
%span.glyphicon.glyphicon-remove.form-control-feedback.js-typeahead-remove
|
%span.glyphicon.glyphicon-remove.form-control-feedback.js-typeahead-remove
|
||||||
= f.hidden_field(:registrar_id, class: 'js-registrar-id')
|
= f.hidden_field(:registrar_id, class: 'js-registrar-id')
|
||||||
.form-group.has-feedback
|
.form-group.has-feedback
|
||||||
= f.label :owner_contact
|
= f.label :owner_contact
|
||||||
= text_field_tag(:owner_contact, params[:owner_contact], class: 'form-control js-contact-typeahead', placeholder: t('shared.contact_code'), autocomplete: 'off')
|
= text_field_tag(:domain_owner_contact, params[:owner_contact], class: 'form-control js-contact-typeahead', placeholder: t('shared.contact_code'), autocomplete: 'off')
|
||||||
%span.glyphicon.glyphicon-ok.form-control-feedback.js-typeahead-ok.hidden
|
%span.glyphicon.glyphicon-ok.form-control-feedback.js-typeahead-ok.hidden
|
||||||
%span.glyphicon.glyphicon-remove.form-control-feedback.js-typeahead-remove
|
%span.glyphicon.glyphicon-remove.form-control-feedback.js-typeahead-remove
|
||||||
= f.hidden_field(:owner_contact_id, class: 'js-contact-id')
|
= f.hidden_field(:owner_contact_id, class: 'js-contact-id')
|
||||||
|
|
|
@ -2,6 +2,7 @@ require 'rails_helper'
|
||||||
|
|
||||||
feature 'Domain management', type: :feature do
|
feature 'Domain management', type: :feature do
|
||||||
background do
|
background do
|
||||||
|
Fabricate(:registrar)
|
||||||
Fabricate(:domain_validation_setting_group)
|
Fabricate(:domain_validation_setting_group)
|
||||||
Fabricate.times(4, :domain)
|
Fabricate.times(4, :domain)
|
||||||
end
|
end
|
||||||
|
@ -16,4 +17,43 @@ feature 'Domain management', type: :feature do
|
||||||
expect(page).to have_link(x.owner_contact)
|
expect(page).to have_link(x.owner_contact)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario 'User adds a domain', js: true do
|
||||||
|
visit admin_domains_path
|
||||||
|
click_on 'Add'
|
||||||
|
fill_in('Domain name', with: 'example.ee')
|
||||||
|
fill_in('Period', with: 1)
|
||||||
|
fill_in('Registrar', with: 'zone', fill_options: { blur: false })
|
||||||
|
# TODO: Wait for poltergeist to support blur option, then uncomment these lines:
|
||||||
|
# expect(page).to have_text('Zone Media OÜ (10577829)')
|
||||||
|
# click_on('Zone Media OÜ (10577829)')
|
||||||
|
# expect(find_field('Registrar').value).to eq('Zone Media OÜ (10577829)')
|
||||||
|
|
||||||
|
# temporary solution:
|
||||||
|
|
||||||
|
page.execute_script("$('#domain_registrar_id').val('1')")
|
||||||
|
|
||||||
|
c = Contact.first
|
||||||
|
|
||||||
|
fill_in('Registrant', with: c.code, fill_options: { blur: false })
|
||||||
|
# TODO: Wait for poltergeist to support blur option, then uncomment these lines:
|
||||||
|
# expect(page).to have_text(c.code)
|
||||||
|
# click_on(c.code)
|
||||||
|
# expect(find_field('Registrar').value).to eq(c.code)
|
||||||
|
|
||||||
|
# temporary solution:
|
||||||
|
page.execute_script("$('#domain_owner_contact_id').val('1')")
|
||||||
|
|
||||||
|
click_on('Save')
|
||||||
|
|
||||||
|
expect(page).to have_text('Domain details')
|
||||||
|
expect(page).to have_text('example.ee')
|
||||||
|
expect(page).to have_link('Zone Media OÜ')
|
||||||
|
expect(page).to have_link(c.name, count: 3)
|
||||||
|
expect(page).to have_text(c.code)
|
||||||
|
expect(page).to have_text(c.ident)
|
||||||
|
expect(page).to have_text(c.email)
|
||||||
|
expect(page).to have_text(c.phone)
|
||||||
|
expect(page).to have_text('Nameservers count must be between 1-13')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue