Merge branch 'update-domain-presenter'

This commit is contained in:
Artur Beljajev 2016-11-30 02:03:14 +02:00
commit 0173b1174d
2 changed files with 28 additions and 1 deletions

View file

@ -1,11 +1,19 @@
class DomainPresenter class DomainPresenter
delegate :name, :registrant_name, to: :domain delegate :name, :registrant_name, :registrant_id, to: :domain
def initialize(domain:, view:) def initialize(domain:, view:)
@domain = domain @domain = domain
@view = view @view = view
end end
def expire_time
view.l(domain.expire_time)
end
def expire_date
view.l(domain.expire_time, format: :date)
end
def on_hold_date def on_hold_date
view.l(domain.on_hold_time, format: :date) if domain.on_hold_time view.l(domain.on_hold_time, format: :date) if domain.on_hold_time
end end

View file

@ -3,6 +3,24 @@ require 'rails_helper'
RSpec.describe DomainPresenter do RSpec.describe DomainPresenter do
let(:presenter) { described_class.new(domain: domain, view: view) } let(:presenter) { described_class.new(domain: domain, view: view) }
describe '#expire_time' do
let(:domain) { instance_double(Domain, expire_time: Time.zone.parse('05.07.2010')) }
it 'returns localized time' do
expect(view).to receive(:l).with(Time.zone.parse('05.07.2010')).and_return('expire time')
expect(presenter.expire_time).to eq('expire time')
end
end
describe '#expire_date' do
let(:domain) { instance_double(Domain, expire_time: Time.zone.parse('05.07.2010')) }
it 'returns localized date' do
expect(view).to receive(:l).with(Time.zone.parse('05.07.2010'), format: :date).and_return('expire date')
expect(presenter.expire_date).to eq('expire date')
end
end
describe '#on_hold_date' do describe '#on_hold_date' do
subject(:on_hold_date) { presenter.on_hold_date } subject(:on_hold_date) { presenter.on_hold_date }
@ -100,6 +118,7 @@ RSpec.describe DomainPresenter do
domain_delegatable_attributes = %i( domain_delegatable_attributes = %i(
name name
registrant_name registrant_name
registrant_id
) )
domain_delegatable_attributes.each do |attribute_name| domain_delegatable_attributes.each do |attribute_name|