summaryrefslogtreecommitdiff
path: root/spec/migrations/delete_template_services_duplicated_by_type_spec.rb
blob: 5bcbfb7c733979f7e6ae2941dd59f941ca7c44dc (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 Rails.root.join('db', 'migrate', '20200304160801_delete_template_services_duplicated_by_type.rb')

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