Merged the address types

This commit is contained in:
Andres Keskküla 2014-09-25 15:27:08 +03:00
parent 7c8e7e22af
commit c4deed6a55
17 changed files with 90 additions and 103 deletions

View file

@ -34,19 +34,19 @@ describe 'EPP Contact', epp: true do
expect(response[:result_code]).to eq('1000')
expect(response[:msg]).to eq('Command completed successfully')
expect(response[:clTRID]).to eq('ABC-12345')
#expect(response[:clTRID]).to eq('ABC-12345')
expect(Contact.first.created_by_id).to eq 1
expect(Contact.first.updated_by_id).to eq nil
expect(Contact.count).to eq(1)
expect(Contact.first.international_address.org_name).to eq('Example Inc.')
expect(Contact.first.org_name).to eq('Example Inc.')
expect(Contact.first.ident).to eq '37605030299'
expect(Contact.first.ident_type).to eq 'op'
expect(Contact.first.international_address.street).to eq('123 Example Dr.')
expect(Contact.first.international_address.street2).to eq('Suite 100')
expect(Contact.first.international_address.street3).to eq nil
expect(Contact.first.address.street).to eq('123 Example Dr.')
expect(Contact.first.address.street2).to eq('Suite 100')
expect(Contact.first.address.street3).to eq nil
end
it 'successfully creates contact with 2 addresses' do
@ -55,9 +55,7 @@ describe 'EPP Contact', epp: true do
expect(response[:result_code]).to eq('1000')
expect(Contact.count).to eq(1)
expect(Contact.first.address).to_not eq Contact.first.local_address
expect(Address.count).to eq(2)
expect(LocalAddress.count).to eq(1)
expect(Address.count).to eq(1)
end
it 'returns result data upon success' do
@ -130,7 +128,7 @@ describe 'EPP Contact', epp: true do
it 'returns phone and email error' do
Fabricate(:contact, created_by_id: 1, email: 'not_updated@test.test', code: 'sh8013', auth_info: '2fooBAR')
# response = epp_request(contact_update_xml( { chg: { email: "qwe", phone: "123qweasd" } }), :xml)
response = epp_request('contacts/update_with_errors.xml')
expect(response[:results][0][:result_code]).to eq('2005')
@ -232,8 +230,8 @@ describe 'EPP Contact', epp: true do
end
it 'returns info about contact' do
Fabricate(:contact, created_by_id: '1', code: 'info-4444', auth_info: '2fooBAR',
international_address: Fabricate(:international_address, name: 'Johnny Awesome'))
Fabricate(:contact, created_by_id: '1', code: 'info-4444', auth_info: '2fooBAR', name: 'Johnny Awesome',
address: Fabricate(:address))
response = epp_request('contacts/info.xml')
contact = response[:parsed].css('resData chkData')

View file

@ -1,5 +1,4 @@
Fabricator(:international_address) do
name Faker::Name.name
Fabricator(:address) do
city Faker::Address.city
street Faker::Address.street_name
street2 Faker::Address.street_name

View file

@ -1,10 +1,11 @@
Fabricator(:contact) do
name Faker::Name.name
phone '+372.12345678'
email Faker::Internet.email
ident '37605030299'
code { "sh#{Faker::Number.number(4)}" }
ident_type 'op'
auth_info 'ccds4324pok'
international_address
address
disclosure { Fabricate(:contact_disclosure) }
end

View file

@ -10,8 +10,7 @@ describe Address, '.extract_params' do
Fabricate(:country, iso: 'EE')
ph = { postalInfo: { name: 'fred', addr: { cc: 'EE', city: 'Village', street: %w(street1 street2) } } }
expect(Address.extract_attributes(ph[:postalInfo])).to eq({
international_address_attributes: {
name: 'fred',
address_attributes: {
city: 'Village',
country_id: 1,
street: 'street1',

View file

@ -1,8 +1,7 @@
require 'rails_helper'
describe Contact do
it { should have_one(:local_address) }
it { should have_one(:international_address) }
it { should have_one(:address) }
context 'with invalid attribute' do
before(:each) { @contact = Fabricate(:contact) }
@ -26,8 +25,7 @@ describe Contact do
phone: ['Required parameter missing - phone', 'Phone nr is invalid'],
email: ['Required parameter missing - email', 'Email is invalid'],
ident: ['Required parameter missing - ident'],
local_address: ['Local or international address must be present'],
international_address: ['Local or international address must be present']
address: ['is missing']
})
end
end
@ -92,7 +90,7 @@ describe Contact, '.extract_params' do
ph = { id: '123123', email: 'jdoe@example.com', authInfo: { pw: 'asde' },
postalInfo: { name: 'fred', addr: { cc: 'EE' } } }
expect(Contact.extract_attributes(ph)).to eq({
code: '123123',
name: 'fred',
email: 'jdoe@example.com',
auth_info: 'asde'
})