Fix test failures caused by faulty id generator in ChecksImport examples
This commit is contained in:
parent
27d027773e
commit
85d6d78eea
1 changed files with 14 additions and 2 deletions
|
@ -1,7 +1,19 @@
|
||||||
RSpec.shared_examples 'ApplicationModel::ChecksImport' do
|
RSpec.shared_examples 'ApplicationModel::ChecksImport' do
|
||||||
describe '#id (for referential integrity during OTRS/Zendesk import)' do
|
describe '#id (for referential integrity during OTRS/Zendesk import)' do
|
||||||
subject { build(described_class.name.underscore, id: unused_id) }
|
subject { build(described_class.name.underscore, id: next_id + 1) }
|
||||||
let(:unused_id) { (described_class.pluck(:id).max || 1) * 2 }
|
|
||||||
|
let(:next_id) do
|
||||||
|
case ActiveRecord::Base.connection_config[:adapter]
|
||||||
|
when 'mysql2'
|
||||||
|
ActiveRecord::Base.connection.execute(<<~QUERY).first.first
|
||||||
|
SELECT max(auto_increment) FROM information_schema.tables WHERE table_name='#{described_class.table_name}'
|
||||||
|
QUERY
|
||||||
|
when 'postgresql'
|
||||||
|
ActiveRecord::Base.connection.execute(<<~QUERY).first['last_value'].next
|
||||||
|
SELECT last_value FROM #{described_class.table_name}_id_seq
|
||||||
|
QUERY
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'when Setting.get("system_init_done") is false (regardless of import_mode)' do
|
context 'when Setting.get("system_init_done") is false (regardless of import_mode)' do
|
||||||
before { Setting.set('system_init_done', false) }
|
before { Setting.set('system_init_done', false) }
|
||||||
|
|
Loading…
Reference in a new issue