debian-mirror-gitlab/spec/support/shared_examples/models/jira_import_state_shared_examples.rb

41 lines
1 KiB
Ruby
Raw Normal View History

2020-04-22 19:07:51 +05:30
# frozen_string_literal: true
2020-07-28 23:09:34 +05:30
RSpec.shared_examples 'multiple running imports not allowed' do
2020-04-22 19:07:51 +05:30
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
2020-07-28 23:09:34 +05:30
RSpec.shared_examples 'in progress' do |status|
2020-04-22 19:07:51 +05:30
it 'returns true' do
jira_import_state = build(:jira_import_state, status: status)
expect(jira_import_state).to be_in_progress
end
end
2020-07-28 23:09:34 +05:30
RSpec.shared_examples 'not in progress' do |status|
2020-04-22 19:07:51 +05:30
it 'returns false' do
jira_import_state = build(:jira_import_state, status: status)
expect(jira_import_state).not_to be_in_progress
end
end
2020-07-28 23:09:34 +05:30
RSpec.shared_examples 'can transition' do |states|
2020-04-22 19:07:51 +05:30
states.each do |state|
it 'returns true' do
expect(jira_import.send(state)).to be true
end
end
end
2020-07-28 23:09:34 +05:30
RSpec.shared_examples 'cannot transition' do |states|
2020-04-22 19:07:51 +05:30
states.each do |state|
it 'returns false' do
expect(jira_import.send(state)).to be false
end
end
end