Merge branch '22951-fix-todos-api-endpoint-error-for-commits' into 'master'
Fix todos API endpoint application error Closes #22951 See merge request !9351
This commit is contained in:
commit
11dd2348c4
4 changed files with 17 additions and 8 deletions
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
title: Add spec for todo with target_type Commit
|
||||||
|
merge_request: 9351
|
||||||
|
author: George Andrinopoulos
|
|
@ -394,7 +394,8 @@ module API
|
||||||
expose :target_type
|
expose :target_type
|
||||||
|
|
||||||
expose :target do |todo, options|
|
expose :target do |todo, options|
|
||||||
Entities.const_get(todo.target_type).represent(todo.target, options)
|
target = todo.target_type == 'Commit' ? 'RepoCommit' : todo.target_type
|
||||||
|
Entities.const_get(target).represent(todo.target, options)
|
||||||
end
|
end
|
||||||
|
|
||||||
expose :target_url do |todo, options|
|
expose :target_url do |todo, options|
|
||||||
|
|
|
@ -18,11 +18,6 @@ FactoryGirl.define do
|
||||||
action { Todo::DIRECTLY_ADDRESSED }
|
action { Todo::DIRECTLY_ADDRESSED }
|
||||||
end
|
end
|
||||||
|
|
||||||
trait :on_commit do
|
|
||||||
commit_id RepoHelpers.sample_commit.id
|
|
||||||
target_type "Commit"
|
|
||||||
end
|
|
||||||
|
|
||||||
trait :build_failed do
|
trait :build_failed do
|
||||||
action { Todo::BUILD_FAILED }
|
action { Todo::BUILD_FAILED }
|
||||||
target factory: :merge_request
|
target factory: :merge_request
|
||||||
|
@ -48,4 +43,13 @@ FactoryGirl.define do
|
||||||
state :done
|
state :done
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
factory :on_commit_todo, class: Todo do
|
||||||
|
project factory: :empty_project
|
||||||
|
author
|
||||||
|
user
|
||||||
|
action { Todo::ASSIGNED }
|
||||||
|
commit_id RepoHelpers.sample_commit.id
|
||||||
|
target_type "Commit"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,7 +3,7 @@ require 'spec_helper'
|
||||||
describe API::Todos, api: true do
|
describe API::Todos, api: true do
|
||||||
include ApiHelpers
|
include ApiHelpers
|
||||||
|
|
||||||
let(:project_1) { create(:empty_project) }
|
let(:project_1) { create(:empty_project, :test_repo) }
|
||||||
let(:project_2) { create(:empty_project) }
|
let(:project_2) { create(:empty_project) }
|
||||||
let(:author_1) { create(:user) }
|
let(:author_1) { create(:user) }
|
||||||
let(:author_2) { create(:user) }
|
let(:author_2) { create(:user) }
|
||||||
|
@ -11,7 +11,7 @@ describe API::Todos, api: true do
|
||||||
let(:merge_request) { create(:merge_request, source_project: project_1) }
|
let(:merge_request) { create(:merge_request, source_project: project_1) }
|
||||||
let!(:pending_1) { create(:todo, :mentioned, project: project_1, author: author_1, user: john_doe) }
|
let!(:pending_1) { create(:todo, :mentioned, project: project_1, author: author_1, user: john_doe) }
|
||||||
let!(:pending_2) { create(:todo, project: project_2, author: author_2, user: john_doe) }
|
let!(:pending_2) { create(:todo, project: project_2, author: author_2, user: john_doe) }
|
||||||
let!(:pending_3) { create(:todo, project: project_1, author: author_2, user: john_doe) }
|
let!(:pending_3) { create(:on_commit_todo, project: project_1, author: author_2, user: john_doe) }
|
||||||
let!(:done) { create(:todo, :done, project: project_1, author: author_1, user: john_doe) }
|
let!(:done) { create(:todo, :done, project: project_1, author: author_1, user: john_doe) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
|
|
Loading…
Reference in a new issue