mirror of
https://github.com/internetee/registry.git
synced 2025-08-05 17:28:18 +02:00
Support for disclosure settings. Tests
This commit is contained in:
parent
64b0481cb2
commit
4e5aecb26d
7 changed files with 119 additions and 21 deletions
|
@ -22,6 +22,7 @@ describe 'EPP Contact', epp: true do
|
|||
Fabricate(:epp_user, username: 'zone', registrar: zone)
|
||||
Fabricate(:epp_user, username: 'elkdata', registrar: elkdata)
|
||||
create_settings
|
||||
create_disclosure_settings
|
||||
end
|
||||
|
||||
context 'create command' do
|
||||
|
@ -96,6 +97,50 @@ describe 'EPP Contact', epp: true do
|
|||
# 5 seconds for what-ever weird lag reasons might happen
|
||||
expect(cr_date.text.to_time).to be_within(5).of(Time.now)
|
||||
end
|
||||
|
||||
it 'creates disclosure data' do
|
||||
xml = {
|
||||
disclose: { value: {
|
||||
voice: { value: '' },
|
||||
addr: { value: '' },
|
||||
name: { value: '' },
|
||||
org_name: { value: '' },
|
||||
email: { value: '' },
|
||||
fax: { value: '' }
|
||||
}, attrs: { flag: '1' }
|
||||
}
|
||||
}
|
||||
|
||||
response = epp_request(create_contact_xml(xml), :xml)
|
||||
expect(response[:result_code]).to eq('1000')
|
||||
|
||||
expect(Contact.last.disclosure.name).to eq(true)
|
||||
expect(Contact.last.disclosure.org_name).to eq(true)
|
||||
expect(Contact.last.disclosure.phone).to eq(true)
|
||||
expect(Contact.last.disclosure.fax).to eq(true)
|
||||
expect(Contact.last.disclosure.email).to eq(true)
|
||||
expect(Contact.last.disclosure.address).to eq(true)
|
||||
end
|
||||
|
||||
it 'creates disclosure data merging with defaults' do
|
||||
xml = {
|
||||
disclose: { value: {
|
||||
voice: { value: '' },
|
||||
addr: { value: '' }
|
||||
}, attrs: { flag: '1' }
|
||||
}
|
||||
}
|
||||
|
||||
response = epp_request(create_contact_xml(xml), :xml)
|
||||
expect(response[:result_code]).to eq('1000')
|
||||
|
||||
expect(Contact.last.disclosure.name).to eq(true)
|
||||
expect(Contact.last.disclosure.org_name).to eq(true)
|
||||
expect(Contact.last.disclosure.phone).to eq(true)
|
||||
expect(Contact.last.disclosure.fax).to eq(false)
|
||||
expect(Contact.last.disclosure.email).to eq(true)
|
||||
expect(Contact.last.disclosure.address).to eq(true)
|
||||
end
|
||||
end
|
||||
|
||||
context 'update command' do
|
||||
|
|
|
@ -18,10 +18,19 @@ describe '.extract_attributes' do
|
|||
|
||||
# TODO: remodel create contact xml to support disclosure
|
||||
it 'should return disclosure has if disclosure' do
|
||||
f = File.open('spec/epp/requests/contacts/create_with_two_addresses.xml')
|
||||
parsed_frame = Nokogiri::XML(f).remove_namespaces!
|
||||
f.close
|
||||
xml = EppXml::Contact.create(
|
||||
{
|
||||
disclose: { value: {
|
||||
voice: { value: '' },
|
||||
addr: { value: '' },
|
||||
name: { value: '' },
|
||||
org_name: { value: '' },
|
||||
email: { value: '' },
|
||||
fax: { value: '' }
|
||||
}, attrs: { flag: '0' }
|
||||
} })
|
||||
parsed_frame = Nokogiri::XML(xml).remove_namespaces!
|
||||
result = ContactDisclosure.extract_attributes(parsed_frame)
|
||||
expect(result).to eq({ phone: '0', email: '0' })
|
||||
expect(result).to eq({ phone: '0', email: '0', fax: '0', address: '0', name: '0', org_name: '0' })
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe Contact do
|
||||
before { create_disclosure_settings }
|
||||
it { should have_one(:address) }
|
||||
|
||||
context 'with invalid attribute' do
|
||||
|
@ -32,11 +33,30 @@ describe Contact do
|
|||
end
|
||||
|
||||
context 'with valid attributes' do
|
||||
before(:each) { @contact = Fabricate(:contact) }
|
||||
before(:each) { @contact = Fabricate(:contact, disclosure: nil) }
|
||||
|
||||
it 'should return true' do
|
||||
expect(@contact.valid?).to be true
|
||||
end
|
||||
|
||||
it 'should have default disclosure' do
|
||||
expect(@contact.disclosure.name).to be true
|
||||
expect(@contact.disclosure.org_name).to be true
|
||||
expect(@contact.disclosure.email).to be true
|
||||
expect(@contact.disclosure.phone).to be false
|
||||
expect(@contact.disclosure.fax).to be false
|
||||
expect(@contact.disclosure.address).to be false
|
||||
end
|
||||
|
||||
it 'should have custom disclosure' do
|
||||
@contact = Fabricate(:contact, disclosure: Fabricate(:contact_disclosure))
|
||||
expect(@contact.disclosure.name).to be true
|
||||
expect(@contact.disclosure.org_name).to be true
|
||||
expect(@contact.disclosure.email).to be true
|
||||
expect(@contact.disclosure.phone).to be true
|
||||
expect(@contact.disclosure.fax).to be true
|
||||
expect(@contact.disclosure.address).to be true
|
||||
end
|
||||
end
|
||||
|
||||
context 'with callbacks' do
|
||||
|
|
|
@ -12,6 +12,15 @@ module General
|
|||
|
||||
Setting.transfer_wait_time = 0
|
||||
end
|
||||
|
||||
def create_disclosure_settings
|
||||
Setting.disclosure_name = true
|
||||
Setting.disclosure_org_name = true
|
||||
Setting.disclosure_email = true
|
||||
Setting.disclosure_phone = false
|
||||
Setting.disclosure_fax = false
|
||||
Setting.disclosure_address = false
|
||||
end
|
||||
end
|
||||
|
||||
RSpec.configure do |c|
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue