Skip to content

Commit

Permalink
chore: remove rspec-given
Browse files Browse the repository at this point in the history
  • Loading branch information
TamarinEA committed Oct 1, 2019
1 parent 89c3dbe commit d4c0e25
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 57 deletions.
15 changes: 6 additions & 9 deletions spec/lib/treasury/fields/delayed_spec.rb
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@
# coding: utf-8

class TreasuryFieldsBase < Treasury::Fields::Base
include Treasury::Fields::Delayed
end

describe Treasury::Fields::Delayed do
Given(:field_model) { build_stubbed 'denormalization/field' }
Given(:field) { TreasuryFieldsBase.new(field_model) }
let(:field_model) { build_stubbed 'denormalization/field' }
let(:field) { TreasuryFieldsBase.new(field_model) }

context '#cancel_delayed_increments' do
after { field.send :cancel_delayed_increments }

Given(:args) { ['field_class' => field_class] }
Given(:field_class) { double('field_class') }
let(:args) { ['field_class' => field_class] }
let(:field_class) { double('field_class') }

Then do
it do
expect(Resque).to(
receive(:remove_delayed_selection).
with(Treasury::DelayedIncrementJob).
and_yield(args)
)
expect(field_class).to receive(:==).with(field_model.field_class)
end

And { expect(field_class).to receive(:==).with(field_model.field_class) }
end
end
35 changes: 11 additions & 24 deletions spec/lib/treasury/processors/base_spec.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# coding: utf-8

describe ::Treasury::Processors::Base do
# TODO: дописать тесты
# нужно дописать тесты методов:
Expand Down Expand Up @@ -452,7 +450,7 @@ def form_value(value)

context 'если есть батч' do
context 'и батч не пустой' do
When do
before do
allow(ActiveRecord::Base).to receive(:pgq_next_batch).and_return(BATCH_ID)
allow(subject).to receive(:process_events_batch) do |events|
data = subject.instance_variable_get(:@data)
Expand All @@ -462,35 +460,24 @@ def form_value(value)
end

context 'when called' do
Given(:storages) { [double('storage1'), double('storage2')] }
let(:storages) { [double('storage1'), double('storage2')] }

before { allow(consumer).to receive(:storages).and_return(storages) }

after { process }

# порядок выполнения методов должен быть верным и колбеки должны вызываться в верном порядке
Then { expect(subject).to receive(:before_batch_processing).ordered }

And { storages.each { |storage| expect(storage).to receive(:source=).with(subject) } }

And { storages.each { |storage| expect(storage).to receive(:start_transaction) } }

# для каждого батча, должен быть вызван метод обработки
And do
it do
expect(subject).to receive(:before_batch_processing).ordered
storages.each { |storage| expect(storage).to receive(:source=).with(subject) }
storages.each { |storage| expect(storage).to receive(:start_transaction) }
EVENTS_BATCHES_TEST.each { |batch| expect(subject).to receive(:process_events_batch).with(batch).ordered }
expect(subject).to receive(:write_data).ordered
expect(subject).to receive(:after_batch_processing).ordered
expect(subject).to receive(:commit_storage_transaction).ordered
expect(subject).to receive(:finish_batch).ordered
expect(subject).to receive(:data_changed).ordered
end

And { expect(subject).to receive(:write_data).ordered }

And { expect(subject).to receive(:after_batch_processing).ordered }

# должен быть вызван метод подтверждения данных в хранилище, если записаны события
And { expect(subject).to receive(:commit_storage_transaction).ordered }

# всегда должен вызывать метод завершения батча
And { expect(subject).to receive(:finish_batch).ordered }

And { expect(subject).to receive(:data_changed).ordered }
end

context 'after call' do
Expand Down
42 changes: 20 additions & 22 deletions spec/lib/treasury/processors/delayed_spec.rb
Original file line number Diff line number Diff line change
@@ -1,26 +1,24 @@
# coding: utf-8

class TestConsumer < Treasury::Processors::Base
include Treasury::Processors::Delayed
end

describe Treasury::Processors::Delayed do
Given(:queue) { FactoryGirl.build 'denormalization/queue' }
Given(:processor) { FactoryGirl.build 'denormalization/processor', queue: queue }
Given(:consumer) { TestConsumer.new(processor) }
let(:queue) { FactoryGirl.build 'denormalization/queue' }
let(:processor) { FactoryGirl.build 'denormalization/processor', queue: queue }
let(:consumer) { TestConsumer.new(processor) }

When do
before do
consumer.event.data[:id] = double('id')
consumer.object = double('object')
end

describe '#delayed_increment_current_value' do
Given(:delayed_increment_current_value) { consumer.delayed_increment_current_value(:field_name, 48.hours) }
let(:delayed_increment_current_value) { consumer.delayed_increment_current_value(:field_name, 48.hours) }

context 'when call' do
after { delayed_increment_current_value }

Then do
it do
expect(Resque).to receive(:enqueue_in).with(
48.hours,
Treasury::DelayedIncrementJob,
Expand All @@ -33,14 +31,14 @@ class TestConsumer < Treasury::Processors::Base
end
end

Then { expect(delayed_increment_current_value).to eq consumer.send(:no_action) }
it { expect(delayed_increment_current_value).to eq consumer.send(:no_action) }
end

describe '#cancel_delayed_increment' do
context 'when call' do
after { consumer.cancel_delayed_increment(:field_name) }

Then do
it do
expect(Resque).to receive(:remove_delayed).with(
Treasury::DelayedIncrementJob,
id: consumer.event.data[:id],
Expand All @@ -53,25 +51,25 @@ class TestConsumer < Treasury::Processors::Base
end

context 'when removed job exists' do
When { allow(Resque).to receive(:remove_delayed).and_return 1 }
before { allow(Resque).to receive(:remove_delayed).and_return 1 }

Then { expect(consumer.cancel_delayed_increment(:field_name)).to be_truthy }
it { expect(consumer.cancel_delayed_increment(:field_name)).to be_truthy }
end

context 'when removed job not exists' do
When { allow(Resque).to receive(:remove_delayed).and_return 0 }
before { allow(Resque).to receive(:remove_delayed).and_return 0 }

Then { expect(consumer.cancel_delayed_increment(:field_name)).to be_falsey }
it { expect(consumer.cancel_delayed_increment(:field_name)).to be_falsey }
end
end

describe '#delayed_decrement_current_value' do
Given(:delayed_decrement_current_value) { consumer.delayed_decrement_current_value(:field_name, 48.hours) }
let(:delayed_decrement_current_value) { consumer.delayed_decrement_current_value(:field_name, 48.hours) }

context 'when call' do
after { delayed_decrement_current_value }

Then do
it do
expect(Resque).to receive(:enqueue_in).with(
48.hours,
Treasury::DelayedIncrementJob,
Expand All @@ -84,14 +82,14 @@ class TestConsumer < Treasury::Processors::Base
end
end

Then { expect(delayed_decrement_current_value).to eq consumer.send(:no_action) }
it { expect(delayed_decrement_current_value).to eq consumer.send(:no_action) }
end

describe '#cancel_delayed_decrement' do
context 'when call' do
after { consumer.cancel_delayed_decrement(:field_name) }

Then do
it do
expect(Resque).to receive(:remove_delayed).with(
Treasury::DelayedIncrementJob,
id: consumer.event.data[:id],
Expand All @@ -104,15 +102,15 @@ class TestConsumer < Treasury::Processors::Base
end

context 'when removed job exists' do
When { allow(Resque).to receive(:remove_delayed).and_return 1 }
before { allow(Resque).to receive(:remove_delayed).and_return 1 }

Then { expect(consumer.cancel_delayed_decrement(:field_name)).to be_truthy }
it { expect(consumer.cancel_delayed_decrement(:field_name)).to be_truthy }
end

context 'when removed job not exists' do
When { allow(Resque).to receive(:remove_delayed).and_return 0 }
before { allow(Resque).to receive(:remove_delayed).and_return 0 }

Then { expect(consumer.cancel_delayed_decrement(:field_name)).to be_falsey }
it { expect(consumer.cancel_delayed_decrement(:field_name)).to be_falsey }
end
end
end
1 change: 0 additions & 1 deletion spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
Combustion.initialize! :action_mailer, :active_record

require 'rspec/rails'
require 'rspec/given'
require 'apress-rspec'

redis = Treasury.configuration.redis
Expand Down
1 change: 0 additions & 1 deletion treasury.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'simplecov'
spec.add_development_dependency 'combustion', '>= 0.5.3'
spec.add_development_dependency 'appraisal'
spec.add_development_dependency 'rspec-given'
spec.add_development_dependency 'shoulda-matchers'
spec.add_development_dependency 'test-unit'
spec.add_development_dependency 'pry-byebug'
Expand Down

0 comments on commit d4c0e25

Please sign in to comment.