summaryrefslogtreecommitdiff
path: root/spec/migrations/delete_template_services_duplicated_by_type_spec.rb
blob: b5a29436159a99d96389b0d93a10ad63f895ee28 (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
# frozen_string_literal: true

require 'spec_helper'
require_migration!

RSpec.describe DeleteTemplateServicesDuplicatedByType do
  let(:services) { table(:services) }

  before do
    services.create!(template: true, type: 'JenkinsService')
    services.create!(template: true, type: 'JenkinsService')
    services.create!(template: true, type: 'JiraService')
    services.create!(template: true, type: 'JenkinsService')
  end

  it 'deletes service templates duplicated by type except the one with the lowest ID' do
    jenkins_service_id = services.where(type: 'JenkinsService').order(:id).pluck(:id).first
    jira_service_id = services.where(type: 'JiraService').pluck(:id).first

    migrate!

    expect(services.pluck(:id)).to contain_exactly(jenkins_service_id, jira_service_id)
  end
end