diff options
author | Rémy Coutable <remy@rymai.me> | 2017-01-09 21:46:38 +0100 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-01-18 16:38:34 +0100 |
commit | e5a29b451473c6f188d5096f21055d27a51fdf90 (patch) | |
tree | 0cbbd7e09b0636a2a19c1a19078ae95dc6f538c6 /spec/lib/gitlab/view/presenter | |
parent | bf789ff567c71ff68c216bfa8f3d43e09b6f49fb (diff) | |
download | gitlab-ce-e5a29b451473c6f188d5096f21055d27a51fdf90.tar.gz |
Improve presenter factory
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec/lib/gitlab/view/presenter')
-rw-r--r-- | spec/lib/gitlab/view/presenter/factory_spec.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/spec/lib/gitlab/view/presenter/factory_spec.rb b/spec/lib/gitlab/view/presenter/factory_spec.rb new file mode 100644 index 00000000000..7a65429b500 --- /dev/null +++ b/spec/lib/gitlab/view/presenter/factory_spec.rb @@ -0,0 +1,42 @@ +require 'spec_helper' + +describe Gitlab::View::Presenter::Factory do + let(:variable) { create(:ci_variable) } + + describe '#initialize' do + context 'without optional parameters' do + subject do + described_class.new(variable) + end + + it 'takes a subject and optional params' do + expect { subject }.not_to raise_error + end + end + + context 'with optional parameters' do + subject do + described_class.new(variable, user: 'user') + end + + it 'takes a subject and optional params' do + expect { subject }.not_to raise_error + end + end + end + + describe '#fabricate!' do + subject do + described_class.new(variable, user: 'user', foo: 'bar').fabricate! + end + + it 'exposes given params' do + expect(subject.user).to eq('user') + expect(subject.foo).to eq('bar') + end + + it 'detects the presenter based on the given subject' do + expect(subject).to be_a(Ci::Variable::Presenter) + end + end +end |