Add author to statuses

This commit is contained in:
Kamil Trzcinski 2015-10-12 12:15:48 +02:00
parent 887494761e
commit 7ef156a242
4 changed files with 11 additions and 1 deletions

View file

@ -9,6 +9,8 @@ class CommitStatus < ActiveRecord::Base
validates_presence_of :name validates_presence_of :name
alias_attribute :author, :user
scope :running, ->() { where(status: 'running') } scope :running, ->() { where(status: 'running') }
scope :pending, ->() { where(status: 'pending') } scope :pending, ->() { where(status: 'pending') }
scope :success, ->() { where(status: 'success') } scope :success, ->() { where(status: 'success') }

View file

@ -52,7 +52,7 @@ module API
name = params[:name] || params[:context] name = params[:name] || params[:context]
status = GenericCommitStatus.running_or_pending.find_by(commit: ci_commit, name: name, ref: params[:ref]) status = GenericCommitStatus.running_or_pending.find_by(commit: ci_commit, name: name, ref: params[:ref])
status = GenericCommitStatus.new(commit: ci_commit) unless status status = GenericCommitStatus.new(commit: ci_commit, user: current_user) unless status
status.update(attrs) status.update(attrs)
case params[:state].to_s case params[:state].to_s

View file

@ -232,6 +232,7 @@ module API
class CommitStatus < Grape::Entity class CommitStatus < Grape::Entity
expose :id, :sha, :ref, :status, :name, :target_url, :description, expose :id, :sha, :ref, :status, :name, :target_url, :description,
:created_at, :started_at, :finished_at :created_at, :started_at, :finished_at
expose :author, using: Entities::UserBasic
end end
class Event < Grape::Entity class Event < Grape::Entity

View file

@ -18,6 +18,13 @@ describe CommitStatus do
it { is_expected.to respond_to :running? } it { is_expected.to respond_to :running? }
it { is_expected.to respond_to :pending? } it { is_expected.to respond_to :pending? }
describe :author do
subject { commit_status.author }
before { commit_status.author = User.new }
it { is_expected.to eq(commit_status.user) }
end
describe :started? do describe :started? do
subject { commit_status.started? } subject { commit_status.started? }