diff options
author | Kamil Trzcinski <ayufan@ayufan.eu> | 2016-04-11 16:55:40 +0200 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2016-04-11 23:32:55 +0200 |
commit | af7214d0f077f738ed57194feb0cd468c43d4310 (patch) | |
tree | 36c2d2abd7252af8a4610f22affa92f8f2b2e1e5 /lib/api | |
parent | 5d69f5b46d475f34fb71dfb4e8b683e90897f1da (diff) | |
download | gitlab-ce-af7214d0f077f738ed57194feb0cd468c43d4310.tar.gz |
Fix specs
Diffstat (limited to 'lib/api')
-rw-r--r-- | lib/api/commit_statuses.rb | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/api/commit_statuses.rb b/lib/api/commit_statuses.rb index e7d76764ff5..0b52dd8a743 100644 --- a/lib/api/commit_statuses.rb +++ b/lib/api/commit_statuses.rb @@ -21,10 +21,9 @@ module API authorize!(:read_commit_status, user_project) not_found!('Commit') unless user_project.commit(params[:sha]) - ci_commit = user_project.ci_commit(params[:sha], params[:ref]) - return [] unless ci_commit - statuses = ci_commit.statuses + ci_commits = user_project.ci_commits.where(sha: params[:sha]) + statuses = ::CommitStatus.where(commit: ci_commits) statuses = statuses.latest unless parse_boolean(params[:all]) statuses = statuses.where(ref: params[:ref]) if params[:ref].present? statuses = statuses.where(stage: params[:stage]) if params[:stage].present? @@ -51,7 +50,14 @@ module API commit = @project.commit(params[:sha]) not_found! 'Commit' unless commit - ci_commit = @project.ensure_ci_commit(commit.sha) + ref = params[:ref] || + begin + branches = @project.repository.branch_names_contains(commit.sha) + not_found! 'Reference for commit' if branches.none? + branches.first + end + + ci_commit = @project.ensure_ci_commit(commit.sha, ref) name = params[:name] || params[:context] status = GenericCommitStatus.running_or_pending.find_by(commit: ci_commit, name: name, ref: params[:ref]) |