Add registrar website to UI

#279
This commit is contained in:
Artur Beljajev 2017-02-21 17:49:34 +02:00
parent c14d15d7b7
commit c037166085
8 changed files with 88 additions and 2 deletions

View file

@ -62,7 +62,7 @@ class Admin::RegistrarsController < AdminController
def registrar_params
params.require(:registrar).permit(
:name, :reg_no, :vat_no, :street, :city, :state, :zip, :billing_address,
:country_code, :email, :phone, :billing_email, :code, :test_registrar
:country_code, :email, :phone, :website, :billing_email, :code, :test_registrar
)
end
end

View file

@ -12,7 +12,7 @@ class Registrar < ActiveRecord::Base
has_many :priv_contacts, -> { privs }, class_name: 'Contact'
has_many :white_ips, dependent: :destroy
delegate :balance, to: :cash_account
delegate :balance, to: :cash_account, allow_nil: true
validates :name, :reg_no, :country_code, :email, :code, presence: true
validates :name, :reg_no, :reference_no, :code, uniqueness: true

View file

@ -27,6 +27,11 @@
= f.label :phone
.col-md-7
= f.text_field(:phone, class: 'form-control')
.form-group
.col-md-4.control-label
= f.label :website
.col-md-7
= f.url_field :website, class: 'form-control'
.form-group
.col-md-4.control-label
= f.label :email

View file

@ -39,6 +39,9 @@
%dt= t(:credit_balance)
%dd= @registrar.balance
%dt= Registrar.human_attribute_name :website
%dd= @registrar.website
.col-md-6
.panel.panel-default
.panel-heading

View file

@ -0,0 +1,24 @@
require 'rails_helper'
RSpec.describe 'admin registrar create' do
subject(:registrar) { Registrar.first }
before :example do
sign_in_to_admin_area
end
it 'creates new registrar' do
expect { post admin_registrars_path, registrar: attributes_for(:registrar) }
.to change { Registrar.count }.from(0).to(1)
end
it 'saves website' do
post admin_registrars_path, { registrar: attributes_for(:registrar, website: 'test') }
expect(registrar.website).to eq('test')
end
it 'redirects to :show' do
post admin_registrars_path, { registrar: attributes_for(:registrar) }
expect(response).to redirect_to admin_registrar_path(registrar)
end
end

View file

@ -0,0 +1,24 @@
require 'rails_helper'
RSpec.describe 'admin registrar update' do
before :example do
sign_in_to_admin_area
end
it 'updates website' do
registrar = create(:registrar, website: 'test')
patch admin_registrar_path(registrar), registrar: attributes_for(:registrar, website: 'new-website')
registrar.reload
expect(registrar.website).to eq('new-website')
end
it 'redirects to :show' do
registrar = create(:registrar)
patch admin_registrar_path(registrar), { registrar: attributes_for(:registrar) }
expect(response).to redirect_to admin_registrar_path(registrar)
end
end

View file

@ -0,0 +1,15 @@
require 'rails_helper'
RSpec.describe 'admin/registrars/_form' do
let(:registrar) { build_stubbed(:registrar) }
before :example do
assign(:registrar, registrar)
stub_template 'shared/_full_errors' => ''
end
it 'has website' do
render
expect(rendered).to have_css('[name="registrar[website]"]')
end
end

View file

@ -0,0 +1,15 @@
require 'rails_helper'
RSpec.describe 'admin/registrars/show' do
let(:registrar) { build_stubbed(:registrar, website: 'test website') }
before :example do
assign(:registrar, registrar)
stub_template 'shared/_title' => ''
end
it 'has website' do
render
expect(rendered).to have_text('test website')
end
end