Files
astuto/spec/workflows/reorder_workflow_spec.rb
2022-05-01 18:00:38 +02:00

35 lines
1.1 KiB
Ruby

require 'rails_helper'
RSpec.describe ReorderWorkflow do
let(:workflow_creator) {
ReorderWorkflow.new(
entity_classname: entity_classname,
column_name: column_name,
entity_id: entity_id,
src_index: src_index,
dst_index: dst_index
)
}
let(:entity_classname) { PostStatus }
let(:column_name) { 'order' }
let(:entity_id) { post_status1.id }
let(:src_index) { post_status1.order }
let(:dst_index) { post_status3.order }
let!(:post_status0) { FactoryBot.create(:post_status, order: 0) }
let!(:post_status1) { FactoryBot.create(:post_status, order: 1) }
let!(:post_status2) { FactoryBot.create(:post_status, order: 2) }
let!(:post_status3) { FactoryBot.create(:post_status, order: 3) }
let!(:post_status4) { FactoryBot.create(:post_status, order: 4) }
it 'reorders entities after moving one of them' do
workflow_creator.run
expect(post_status0.reload.order).to eq(0)
expect(post_status1.reload.order).to eq(3)
expect(post_status3.reload.order).to eq(2)
expect(post_status2.reload.order).to eq(1)
expect(post_status4.reload.order).to eq(4)
end
end