spec/integration/yard/sinclair_spec.rb in sinclair-1.1.3 vs spec/integration/yard/sinclair_spec.rb in sinclair-1.2.0

- old
+ new

@@ -1,41 +1,41 @@ # frozen_string_literal: false require 'spec_helper' -describe 'yarn' do - describe Sinclair do - let(:klass) { Class.new(MyModel) } - let(:instance) { klass.new } - let(:builder) { Sinclair.new(klass) } +describe Sinclair do + describe 'yarn' do + let(:klass) { Class.new(MyModel) } + let(:instance) { klass.new } + let(:builder) { described_class.new(klass) } let(:default_value) { 10 } describe '#initialize' do describe '#total_price' do before do - subject.eval_and_add_method(:total_price) do + builder.eval_and_add_method(:total_price) do code = 'self.value * self.quantity' code.concat ' rescue 0' if options_object.rescue_error code end - subject.build + builder.build end context 'without options' do - subject { Sinclair.new(klass, rescue_error: true) } + subject(:builder) { described_class.new(klass, rescue_error: true) } let(:klass) { Class.new(Purchase) } let(:instance) { klass.new(2.3, 5) } it 'evaluates into default_value' do expect(instance.total_price).to eq(0) end end context 'with options' do - subject { Sinclair.new(klass) } + subject(:model) { described_class.new(klass) } let(:klass) { Class.new(Purchase) } let(:instance) { klass.new(2.3, 5) } it do @@ -61,12 +61,13 @@ builder.add_method(:default_value) { value } builder.add_method(:value, '@value || default_value') builder.add_method(:value=) { |val| @value = val } end - context 'after the build' do + describe 'after the build' do before { builder.build } + it 'creates the expected methods' do expect(instance.value).to eq(10) end context 'when default value is overwritten' do @@ -78,11 +79,11 @@ expect(instance.value).to eq(20) end end end - context 'calling the build' do + context 'when calling the build' do it do expect do builder.build end.to change { instance.respond_to?(:default_value) }.to(true) end @@ -110,17 +111,14 @@ it 'returns the full name' do expect(instance.bond_name).to eq('wick, john wick') end end - - describe '#bond_style' do - end end describe '#eval_and_add_method' do - subject { klass.new } + subject(:builder) { klass.new } let(:klass) do Class.new do include InitialValuer attr_writer :age @@ -129,21 +127,21 @@ end describe '#age' do context 'when it has not been initialized' do it do - expect(subject.age).to eq(20) + expect(builder.age).to eq(20) end end context 'when it has been initialized' do before do - subject.age - subject.age = 30 + builder.age + builder.age = 30 end it do - expect(subject.age).to eq(30) + expect(builder.age).to eq(30) end end end end end