summaryrefslogtreecommitdiff
path: root/spec/migrations/20210722042939_update_issuable_slas_where_issue_closed_spec.rb
blob: 5674efbf187c6ebb655e5b2c03e7401000cff62f (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
# frozen_string_literal: true

require 'spec_helper'
require_migration!

RSpec.describe UpdateIssuableSlasWhereIssueClosed, :migration, feature_category: :team_planning do
  let(:namespaces) { table(:namespaces) }
  let(:projects) { table(:projects) }
  let(:issues) { table(:issues) }
  let(:issuable_slas) { table(:issuable_slas) }
  let(:issue_params) { { title: 'title', project_id: project.id } }
  let(:issue_closed_state) { 2 }

  let!(:namespace) { namespaces.create!(name: 'foo', path: 'foo') }
  let!(:project) { projects.create!(namespace_id: namespace.id) }
  let!(:issue_open) { issues.create!(issue_params) }
  let!(:issue_closed) { issues.create!(issue_params.merge(state_id: issue_closed_state)) }

  let!(:issuable_sla_open_issue) { issuable_slas.create!(issue_id: issue_open.id, due_at: Time.now) }
  let!(:issuable_sla_closed_issue) { issuable_slas.create!(issue_id: issue_closed.id, due_at: Time.now) }

  it 'sets the issuable_closed attribute to false' do
    expect(issuable_sla_open_issue.issuable_closed).to eq(false)
    expect(issuable_sla_closed_issue.issuable_closed).to eq(false)

    migrate!

    expect(issuable_sla_open_issue.reload.issuable_closed).to eq(false)
    expect(issuable_sla_closed_issue.reload.issuable_closed).to eq(true)
  end
end