internetee-registry/spec/models/epp_domain_spec.rb
2014-12-15 18:06:41 +02:00

94 lines
2.3 KiB
Ruby

require 'rails_helper'
describe Epp::EppDomain do
context 'with sufficient settings' do
let(:domain) { Fabricate(:epp_domain) }
before(:each) do
create_settings
end
it 'attaches valid statuses' do
domain.attach_statuses([
{
value: DomainStatus::CLIENT_HOLD,
description: 'payment overdue'
},
{
value: DomainStatus::CLIENT_DELETE_PROHIBITED
}
])
domain.save
domain.reload
expect(domain.domain_statuses.first.value).to eq(DomainStatus::CLIENT_HOLD)
expect(domain.domain_statuses.first.description).to eq('payment overdue')
expect(domain.domain_statuses.last.value).to eq(DomainStatus::CLIENT_DELETE_PROHIBITED)
end
it 'adds an epp error when invalid statuses are attached' do
domain.attach_statuses([
{
value: DomainStatus::SERVER_HOLD,
description: 'payment overdue'
},
{
value: DomainStatus::CLIENT_DELETE_PROHIBITED
}
])
expect(domain.errors[:epp_errors].length).to eq(1)
err = domain.errors[:epp_errors].first
expect(err[:msg]).to eq('Status was not found')
expect(err[:value][:val]).to eq(DomainStatus::SERVER_HOLD)
end
it 'detaches valid statuses' do
domain.attach_statuses([
{
value: DomainStatus::CLIENT_HOLD,
description: 'payment overdue'
},
{
value: DomainStatus::CLIENT_DELETE_PROHIBITED
}
])
domain.save
domain.detach_statuses([
{
value: DomainStatus::CLIENT_HOLD
}
])
domain.save
domain.reload
expect(domain.domain_statuses.count).to eq(1)
expect(domain.domain_statuses.first.value).to eq(DomainStatus::CLIENT_DELETE_PROHIBITED)
end
it 'adds an epp error when invalid statuses are detached' do
domain.domain_statuses.create(value: DomainStatus::SERVER_HOLD)
domain.detach_statuses([
{
value: DomainStatus::SERVER_HOLD
}
])
expect(domain.errors[:epp_errors].length).to eq(1)
err = domain.errors[:epp_errors].first
expect(err[:msg]).to eq('Status was not found')
expect(err[:value][:val]).to eq(DomainStatus::SERVER_HOLD)
end
end
end