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