40 lines
1 KiB
Ruby
40 lines
1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.shared_examples 'multiple running imports not allowed' do
|
|
it 'returns not valid' do
|
|
new_import = build(:jira_import_state, project: project)
|
|
|
|
expect(new_import).not_to be_valid
|
|
expect(new_import.errors[:project]).not_to be_nil
|
|
end
|
|
end
|
|
|
|
RSpec.shared_examples 'in progress' do |status|
|
|
it 'returns true' do
|
|
jira_import_state = build(:jira_import_state, status: status)
|
|
expect(jira_import_state).to be_in_progress
|
|
end
|
|
end
|
|
|
|
RSpec.shared_examples 'not in progress' do |status|
|
|
it 'returns false' do
|
|
jira_import_state = build(:jira_import_state, status: status)
|
|
expect(jira_import_state).not_to be_in_progress
|
|
end
|
|
end
|
|
|
|
RSpec.shared_examples 'can transition' do |states|
|
|
states.each do |state|
|
|
it 'returns true' do
|
|
expect(jira_import.send(state)).to be true
|
|
end
|
|
end
|
|
end
|
|
|
|
RSpec.shared_examples 'cannot transition' do |states|
|
|
states.each do |state|
|
|
it 'returns false' do
|
|
expect(jira_import.send(state)).to be false
|
|
end
|
|
end
|
|
end
|