summaryrefslogtreecommitdiff
path: root/spec/migrations/rename_duplicated_variable_key_spec.rb
blob: 11096564dfa7d5763afc9f917f172942ef0686ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
require 'spec_helper'
require Rails.root.join('db', 'migrate', '20170622135451_rename_duplicated_variable_key.rb')

describe RenameDuplicatedVariableKey, :migration do
  let(:variables) { table(:ci_variables) }
  let(:projects) { table(:projects) }

  before do
    projects.create!(id: 1)
    variables.create!(id: 1, key: 'key1', project_id: 1)
    variables.create!(id: 2, key: 'key2', project_id: 1)
    variables.create!(id: 3, key: 'keyX', project_id: 1)
    variables.create!(id: 4, key: 'keyX', project_id: 1)
    variables.create!(id: 5, key: 'keyY', project_id: 1)
    variables.create!(id: 6, key: 'keyX', project_id: 1)
    variables.create!(id: 7, key: 'key7', project_id: 1)
    variables.create!(id: 8, key: 'keyY', project_id: 1)
  end

  it 'correctly remove duplicated records with smaller id' do
    migrate!

    expect(variables.pluck(:id, :key)).to contain_exactly(
      [1, 'key1'],
      [2, 'key2'],
      [3, 'keyX_3'],
      [4, 'keyX_4'],
      [5, 'keyY_5'],
      [6, 'keyX'],
      [7, 'key7'],
      [8, 'keyY']
    )
  end
end