From aa364be8a94c67b2c9b5aba066e3017dca30b721 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Wed, 30 Nov 2016 02:00:48 +0200 Subject: [PATCH] Update domain presenter --- app/presenters/domain_presenter.rb | 10 +++++++++- spec/presenters/domain_presenter_spec.rb | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/app/presenters/domain_presenter.rb b/app/presenters/domain_presenter.rb index b09743c5e..2d0cfd791 100644 --- a/app/presenters/domain_presenter.rb +++ b/app/presenters/domain_presenter.rb @@ -1,11 +1,19 @@ class DomainPresenter - delegate :name, :registrant_name, to: :domain + delegate :name, :registrant_name, :registrant_id, to: :domain def initialize(domain:, view:) @domain = domain @view = view 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 view.l(domain.on_hold_time, format: :date) if domain.on_hold_time end diff --git a/spec/presenters/domain_presenter_spec.rb b/spec/presenters/domain_presenter_spec.rb index 79adcc68f..2209c01aa 100644 --- a/spec/presenters/domain_presenter_spec.rb +++ b/spec/presenters/domain_presenter_spec.rb @@ -3,6 +3,24 @@ require 'rails_helper' RSpec.describe DomainPresenter do 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 subject(:on_hold_date) { presenter.on_hold_date } @@ -100,6 +118,7 @@ RSpec.describe DomainPresenter do domain_delegatable_attributes = %i( name registrant_name + registrant_id ) domain_delegatable_attributes.each do |attribute_name|