summaryrefslogtreecommitdiff
path: root/qa/spec/factory
diff options
context:
space:
mode:
Diffstat (limited to 'qa/spec/factory')
-rw-r--r--qa/spec/factory/base_spec.rb46
1 files changed, 30 insertions, 16 deletions
diff --git a/qa/spec/factory/base_spec.rb b/qa/spec/factory/base_spec.rb
index a3ba0176819..d7cb9a770b5 100644
--- a/qa/spec/factory/base_spec.rb
+++ b/qa/spec/factory/base_spec.rb
@@ -59,30 +59,44 @@ describe QA::Factory::Base do
it 'defines dependency accessors' do
expect(subject.new).to respond_to :mydep, :mydep=
end
- end
- describe 'building dependencies' do
- let(:dependency) { double('dependency') }
- let(:instance) { spy('instance') }
+ describe 'dependencies fabrication' do
+ let(:dependency) { double('dependency') }
+ let(:instance) { spy('instance') }
- subject do
- Class.new(described_class) do
- dependency Some::MyDependency, as: :mydep
+ subject do
+ Class.new(described_class) do
+ dependency Some::MyDependency, as: :mydep
+ end
end
- end
- before do
- stub_const('Some::MyDependency', dependency)
+ before do
+ stub_const('Some::MyDependency', dependency)
+
+ allow(subject).to receive(:new).and_return(instance)
+ allow(instance).to receive(:mydep).and_return(nil)
+ allow(QA::Factory::Product).to receive(:new)
+ end
- allow(subject).to receive(:new).and_return(instance)
- allow(instance).to receive(:mydep).and_return(nil)
- allow(QA::Factory::Product).to receive(:new)
+ it 'builds all dependencies first' do
+ expect(dependency).to receive(:fabricate!).once
+
+ subject.fabricate!
+ end
end
+ end
- it 'builds all dependencies first' do
- expect(dependency).to receive(:fabricate!).once
+ describe '.product' do
+ subject do
+ Class.new(described_class) do
+ product :token do |factory, page|
+ page.do_something!
+ end
+ end
+ end
- subject.fabricate!
+ it 'appends new product attribute' do
+ expect(subject.attributes).to be_one
end
end
end