Commit 11dd2348 authored by Sean McGivern's avatar Sean McGivern

Merge branch '22951-fix-todos-api-endpoint-error-for-commits' into 'master'

Fix todos API endpoint application error

Closes #22951

See merge request !9351
parents e7fb3942 54c1dc67
---
title: Add spec for todo with target_type Commit
merge_request: 9351
author: George Andrinopoulos
...@@ -394,7 +394,8 @@ module API ...@@ -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 ...@@ -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 ...@@ -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' ...@@ -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 ...@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment