#859: some refactoring according to Alexander's comments

This commit is contained in:
Vokhmin Alexey V 2013-01-31 15:32:01 +04:00
parent b8b03b62b0
commit 1cabd9cea8
3 changed files with 18 additions and 35 deletions

View File

@ -22,8 +22,7 @@ class Api::V1::BuildListsController < Api::V1::BaseController
bl_params[:auto_publish] = false unless save_to_repository.publish_without_qa? bl_params[:auto_publish] = false unless save_to_repository.publish_without_qa?
end end
@build_list = BuildList.new(bl_params) @build_list = current_user.build_lists.new(bl_params)
@build_list.user = current_user
@build_list.priority = current_user.build_priority # User builds more priority than mass rebuild with zero priority @build_list.priority = current_user.build_priority # User builds more priority than mass rebuild with zero priority
create_subject @build_list create_subject @build_list

View File

@ -223,9 +223,7 @@ class BuildList < ActiveRecord::Base
:do => :remove_container :do => :remove_container
event :publish_container do event :publish_container do
transition [:waiting_for_publish, :container_failed_publish] => :container_publish, :if => lambda { |build_list| transition [:waiting_for_publish, :container_failed_publish] => :container_publish, :if => :success?
build_list.success?
}
end end
event :published_container do event :published_container do

View File

@ -73,9 +73,19 @@ shared_examples_for 'not create build list via api' do
lambda { post :create, @create_params }.should change{ BuildList.count }.by(0) lambda { post :create, @create_params }.should change{ BuildList.count }.by(0)
end end
it 'should return 422 response code' do it 'should return 403 response code' do
post :create, @create_params post :create, @create_params
response.should_not be_success response.status.should == 403
end
end
shared_examples_for 'validation error via build list api' do |message|
it 'should return 422 response code' do
response.status.should == 422
end
it "should return correct json error message" do
response.body.should == { :build_list => {:id => nil, :message => message} }.to_json
end end
end end
@ -146,13 +156,7 @@ describe Api::V1::BuildListsController do
do_cancel do_cancel
end end
it "should return correct json error message" do it_should_behave_like 'validation error via build list api', I18n.t('layout.build_lists.cancel_fail')
response.body.should == { :build_list => {:id => nil, :message => I18n.t('layout.build_lists.cancel_fail')} }.to_json
end
it 'should return 422 response code' do
response.should_not be_success
end
it "should not cancel build list" do it "should not cancel build list" do
@build_list.reload.status.should == BuildList::PROJECT_VERSION_NOT_FOUND @build_list.reload.status.should == BuildList::PROJECT_VERSION_NOT_FOUND
@ -211,13 +215,7 @@ describe Api::V1::BuildListsController do
do_create_container do_create_container
end end
it "should return correct json error message" do it_should_behave_like 'validation error via build list api', I18n.t('layout.build_lists.create_container_fail')
response.body.should == { :build_list => {:id => nil, :message => I18n.t('layout.build_lists.create_container_fail')} }.to_json
end
it 'should return 422 response code' do
response.should_not be_success
end
it "should not create container" do it "should not create container" do
@build_list.reload.container_status.should == BuildList::WAITING_FOR_RESPONSE @build_list.reload.container_status.should == BuildList::WAITING_FOR_RESPONSE
@ -273,13 +271,7 @@ describe Api::V1::BuildListsController do
do_publish do_publish
end end
it "should return correct json error message" do it_should_behave_like 'validation error via build list api', I18n.t('layout.build_lists.publish_fail')
response.body.should == { :build_list => {:id => nil, :message => I18n.t('layout.build_lists.publish_fail')} }.to_json
end
it 'should return 422 response code' do
response.should_not be_success
end
it "should not cancel build list" do it "should not cancel build list" do
@build_list.reload.status.should == BuildList::PROJECT_VERSION_NOT_FOUND @build_list.reload.status.should == BuildList::PROJECT_VERSION_NOT_FOUND
@ -341,13 +333,7 @@ describe Api::V1::BuildListsController do
do_reject_publish do_reject_publish
end end
it "should return correct json error message" do it_should_behave_like 'validation error via build list api', I18n.t('layout.build_lists.reject_publish_fail')
response.body.should == { :build_list => {:id => nil, :message => I18n.t('layout.build_lists.reject_publish_fail')} }.to_json
end
it 'should return 422 response code' do
response.should_not be_success
end
it "should not cancel build list" do it "should not cancel build list" do
@build_list.reload.status.should == BuildList::PROJECT_VERSION_NOT_FOUND @build_list.reload.status.should == BuildList::PROJECT_VERSION_NOT_FOUND