added forign key and specs
This commit is contained in:
parent
f211e47eb2
commit
9b0e8a09b1
4 changed files with 15 additions and 1 deletions
|
@ -135,6 +135,7 @@ class User < ActiveRecord::Base
|
|||
has_many :issue_assignees
|
||||
has_many :assigned_issues, class_name: "Issue", through: :issue_assignees, source: :issue
|
||||
has_many :assigned_merge_requests, dependent: :nullify, foreign_key: :assignee_id, class_name: "MergeRequest" # rubocop:disable Cop/ActiveRecordDependent
|
||||
has_many :closed_issues, class_name: 'Issue', dependent: :nullify, foreign_key: :closed_by_id
|
||||
|
||||
has_many :custom_attributes, class_name: 'UserCustomAttribute'
|
||||
has_many :callouts, class_name: 'UserCallout'
|
||||
|
|
|
@ -4,10 +4,17 @@
|
|||
class AddClosedByToIssues < ActiveRecord::Migration
|
||||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
disable_ddl_transaction!
|
||||
# Set this constant to true if this migration requires downtime.
|
||||
DOWNTIME = false
|
||||
|
||||
def change
|
||||
def up
|
||||
add_column :issues, :closed_by_id, :integer
|
||||
add_concurrent_foreign_key :issues, :users, column: :closed_by_id, on_delete: :nullify
|
||||
end
|
||||
|
||||
def down
|
||||
remove_foreign_key :issues, column: :closed_by_id
|
||||
remove_column :issues, :closed_by_id
|
||||
end
|
||||
end
|
||||
|
|
|
@ -876,6 +876,7 @@ ActiveRecord::Schema.define(version: 20180216121030) do
|
|||
t.integer "last_edited_by_id"
|
||||
t.boolean "discussion_locked"
|
||||
t.datetime_with_timezone "closed_at"
|
||||
t.integer "closed_by_id"
|
||||
end
|
||||
|
||||
add_index "issues", ["author_id"], name: "index_issues_on_author_id", using: :btree
|
||||
|
@ -2013,6 +2014,7 @@ ActiveRecord::Schema.define(version: 20180216121030) do
|
|||
add_foreign_key "issues", "milestones", name: "fk_96b1dd429c", on_delete: :nullify
|
||||
add_foreign_key "issues", "projects", name: "fk_899c8f3231", on_delete: :cascade
|
||||
add_foreign_key "issues", "users", column: "author_id", name: "fk_05f1e72feb", on_delete: :nullify
|
||||
add_foreign_key "issues", "users", column: "closed_by_id", name: "fk_c63cbf6c25", on_delete: :nullify
|
||||
add_foreign_key "issues", "users", column: "updated_by_id", name: "fk_ffed080f01", on_delete: :nullify
|
||||
add_foreign_key "label_priorities", "labels", on_delete: :cascade
|
||||
add_foreign_key "label_priorities", "projects", on_delete: :cascade
|
||||
|
|
|
@ -67,6 +67,10 @@ describe Issues::CloseService do
|
|||
expect(issue).to be_closed
|
||||
end
|
||||
|
||||
it 'records closed user' do
|
||||
expect(issue.closed_by_id).to be(user.id)
|
||||
end
|
||||
|
||||
it 'sends email to user2 about assign of new issue' do
|
||||
email = ActionMailer::Base.deliveries.last
|
||||
expect(email.to.first).to eq(user2.email)
|
||||
|
|
Loading…
Reference in a new issue