mirror of
https://github.com/internetee/registry.git
synced 2025-05-16 17:37:17 +02:00
99 lines
3.6 KiB
Ruby
99 lines
3.6 KiB
Ruby
require 'rails_helper'
|
|
|
|
describe Nameserver do
|
|
it { should belong_to(:domain) }
|
|
|
|
context 'with invalid attribute' do
|
|
before :all do
|
|
@nameserver = Nameserver.new
|
|
end
|
|
|
|
it 'should not be valid' do
|
|
@nameserver.valid?
|
|
@nameserver.errors.full_messages.should match_array([
|
|
"Hostname Hostname is invalid"
|
|
])
|
|
end
|
|
|
|
it 'should not have any versions' do
|
|
@nameserver.versions.should == []
|
|
end
|
|
end
|
|
|
|
context 'with valid attributes' do
|
|
before :all do
|
|
@nameserver = Fabricate(:nameserver)
|
|
end
|
|
|
|
it 'should be valid' do
|
|
@nameserver.valid?
|
|
@nameserver.errors.full_messages.should match_array([])
|
|
end
|
|
|
|
it 'should be valid twice' do
|
|
@nameserver = Fabricate(:nameserver)
|
|
@nameserver.valid?
|
|
@nameserver.errors.full_messages.should match_array([])
|
|
end
|
|
|
|
it 'should have one version' do
|
|
with_versioning do
|
|
@nameserver.versions.should == []
|
|
@nameserver.hostname = 'hostname.ee'
|
|
@nameserver.save
|
|
@nameserver.errors.full_messages.should match_array([])
|
|
@nameserver.versions.size.should == 1
|
|
end
|
|
end
|
|
|
|
context 'with many nameservers' do
|
|
before :all do
|
|
@api_user = Fabricate(:api_user)
|
|
@domain_1 = Fabricate(:domain, nameservers: [
|
|
Fabricate(:nameserver, hostname: 'ns1.ns.ee'),
|
|
Fabricate(:nameserver, hostname: 'ns2.ns.ee'),
|
|
Fabricate(:nameserver, hostname: 'ns2.test.ee')
|
|
], registrar: @api_user.registrar)
|
|
|
|
@domain_2 = Fabricate(:domain, nameservers: [
|
|
Fabricate(:nameserver, hostname: 'ns1.ns.ee'),
|
|
Fabricate(:nameserver, hostname: 'ns2.ns.ee'),
|
|
Fabricate(:nameserver, hostname: 'ns3.test.ee')
|
|
], registrar: @api_user.registrar)
|
|
|
|
@domain_3 = Fabricate(:domain, nameservers: [
|
|
Fabricate(:nameserver, hostname: 'ns1.ns.ee'),
|
|
Fabricate(:nameserver, hostname: 'ns2.ns.ee'),
|
|
Fabricate(:nameserver, hostname: 'ns3.test.ee')
|
|
])
|
|
end
|
|
|
|
it 'should replace hostname ends' do
|
|
res = Nameserver.replace_hostname_ends(@api_user.registrar.domains, 'ns.ee', 'test.ee')
|
|
res.should == 'replaced_some'
|
|
|
|
@api_user.registrar.nameservers.where("hostname LIKE '%test.ee'").count.should == 4
|
|
@domain_1.nameservers.pluck(:hostname).should include('ns1.ns.ee', 'ns2.ns.ee', 'ns2.test.ee')
|
|
@domain_2.nameservers.pluck(:hostname).should include('ns1.test.ee', 'ns2.test.ee', 'ns3.test.ee')
|
|
|
|
res = Nameserver.replace_hostname_ends(@api_user.registrar.domains, 'test.ee', 'testing.ee')
|
|
res.should == 'replaced_all'
|
|
|
|
@api_user.registrar.nameservers.where("hostname LIKE '%testing.ee'").count.should == 4
|
|
@domain_1.nameservers.pluck(:hostname).should include('ns1.ns.ee', 'ns2.ns.ee', 'ns2.testing.ee')
|
|
@domain_2.nameservers.pluck(:hostname).should include('ns1.testing.ee', 'ns2.testing.ee', 'ns3.testing.ee')
|
|
|
|
res = Nameserver.replace_hostname_ends(@api_user.registrar.domains, 'ns.ee', 'test.ee')
|
|
res.should == 'replaced_all'
|
|
|
|
@api_user.registrar.nameservers.where("hostname LIKE '%test.ee'").count.should == 2
|
|
@domain_1.nameservers.pluck(:hostname).should include('ns1.test.ee', 'ns2.test.ee', 'ns2.testing.ee')
|
|
@domain_2.nameservers.pluck(:hostname).should include('ns1.testing.ee', 'ns2.testing.ee', 'ns3.testing.ee')
|
|
@domain_3.nameservers.pluck(:hostname).should include('ns1.ns.ee', 'ns2.ns.ee', 'ns3.test.ee')
|
|
|
|
res = Nameserver.replace_hostname_ends(@api_user.registrar.domains, 'xcv.ee', 'test.ee')
|
|
res.should == 'replaced_none'
|
|
end
|
|
end
|
|
end
|
|
end
|