mirror of
https://github.com/internetee/registry.git
synced 2025-07-21 10:16:01 +02:00
Add some tests for domain transfer
This commit is contained in:
parent
b48b91878d
commit
72a37f3b08
14 changed files with 120 additions and 39 deletions
|
@ -14,6 +14,7 @@ class Ability
|
|||
elsif user.persisted?
|
||||
can :manage, Domain, registrar_id: user.registrar.id
|
||||
can :read, DomainTransfer, transfer_to_id: user.registrar.id
|
||||
can :read, DomainTransfer, transfer_from_id: user.registrar.id
|
||||
can :approve_as_client, DomainTransfer, transfer_from_id: user.registrar.id, status: DomainTransfer::PENDING
|
||||
end
|
||||
# Define abilities for the passed in user here. For example:
|
||||
|
|
|
@ -11,6 +11,10 @@ class DomainTransfer < ActiveRecord::Base
|
|||
SERVER_APPROVED = 'serverApproved'
|
||||
SERVER_CANCELLED = 'serverCancelled'
|
||||
|
||||
def approved?
|
||||
status == CLIENT_APPROVED || status == SERVER_APPROVED
|
||||
end
|
||||
|
||||
def transfer_confirm_time
|
||||
wait_time = SettingGroup.domain_general.setting(:transfer_wait_time).value.to_i
|
||||
transfer_requested_at + wait_time.hours
|
||||
|
@ -27,4 +31,16 @@ class DomainTransfer < ActiveRecord::Base
|
|||
domain.save(validate: false)
|
||||
end
|
||||
end
|
||||
|
||||
def approve_as_server
|
||||
transaction do
|
||||
self.status = DomainTransfer::SERVER_APPROVED
|
||||
self.transferred_at = Time.zone.now
|
||||
save
|
||||
|
||||
domain.generate_auth_info
|
||||
domain.registrar = transfer_to
|
||||
domain.save(validate: false)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue