From 66800402cb00d7a310d16b3c3770042d29f2caf1 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 31 Oct 2016 14:55:20 +0200 Subject: [PATCH] Introduce registrant presenter registry-180 --- app/presenters/registrant_presenter.rb | 19 +++++++++++++++++++ spec/presenters/registrant_presenter_spec.rb | 20 ++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 app/presenters/registrant_presenter.rb create mode 100644 spec/presenters/registrant_presenter_spec.rb diff --git a/app/presenters/registrant_presenter.rb b/app/presenters/registrant_presenter.rb new file mode 100644 index 000000000..67ae93d68 --- /dev/null +++ b/app/presenters/registrant_presenter.rb @@ -0,0 +1,19 @@ +class RegistrantPresenter + def initialize(registrant:, view:) + @registrant = registrant + @view = view + end + + def name + registrant.name + end + + def ident + registrant.ident + end + + private + + attr_reader :registrant + attr_reader :view +end diff --git a/spec/presenters/registrant_presenter_spec.rb b/spec/presenters/registrant_presenter_spec.rb new file mode 100644 index 000000000..0cec65ff6 --- /dev/null +++ b/spec/presenters/registrant_presenter_spec.rb @@ -0,0 +1,20 @@ +require 'rails_helper' + +RSpec.describe RegistrantPresenter do + let(:registrant) { instance_double(Registrant) } + let(:presenter) { described_class.new(registrant: registrant, view: view) } + + describe '#name' do + it 'returns name' do + expect(registrant).to receive(:name).and_return('test name') + expect(presenter.name).to eq('test name') + end + end + + describe '#ident' do + it 'returns ident' do + expect(registrant).to receive(:ident).and_return('test ident') + expect(presenter.ident).to eq('test ident') + end + end +end