spec/reporter/example_spec.rb in konacha-3.0.0 vs spec/reporter/example_spec.rb in konacha-3.1.0
- old
+ new
@@ -4,13 +4,18 @@
subject { described_class.new({}, nil) }
describe "#initialize" do
it "loads up a metadata instance and the parent" do
data = double('data')
- parent = double('parent')
- example = described_class.new(data, parent)
+ parent_metadata = Konacha::Reporter::Metadata.new({})
+ parent = double('parent', metadata: parent_metadata)
+ # Check if parent metadata is added to metadata
+ described_class.any_instance.stub(:update_metadata) { nil }
+ described_class.any_instance.should_receive(:update_metadata).with(example_group: parent_metadata)
+
+ example = described_class.new(data, parent)
example.parent.should == parent
example.metadata.should be_a(Konacha::Reporter::Metadata)
example.metadata.data.should == data
end
end
@@ -70,8 +75,25 @@
data = double('data')
metadata = double('metadata')
metadata.should_receive(:update).with(data)
Konacha::Reporter::Metadata.stub(:new) { metadata }
subject.update_metadata(data)
+ end
+ end
+
+ describe "#[]" do
+ it "should delegate to instance method if it exists" do
+ subject.stub(:some_method) { nil }
+ subject.stub(:metadata) { nil }
+ subject.should_receive(:some_method)
+ subject.should_not_receive(:metadata)
+ subject[:some_method]
+ end
+
+ it "should delegate to metadata if no method exists" do
+ subject.should_not respond_to(:some_method)
+ subject.metadata.stub(:[]) { nil }
+ subject.metadata.should_receive(:[]).with(:some_method)
+ subject[:some_method]
end
end
end