From fbb070646aeccab5e46f300d130c20fa5a0a22fa Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Sat, 13 May 2017 02:10:14 +0900 Subject: Add validation spec --- spec/requests/api/pipeline_schedules_spec.rb | 32 ++++++++++++++++++---------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/spec/requests/api/pipeline_schedules_spec.rb b/spec/requests/api/pipeline_schedules_spec.rb index 6a3cc89909d..bf61c9de14d 100644 --- a/spec/requests/api/pipeline_schedules_spec.rb +++ b/spec/requests/api/pipeline_schedules_spec.rb @@ -118,6 +118,17 @@ describe API::PipelineSchedules do expect(response).to have_http_status(:bad_request) end end + + context 'when cron has validation error' do + it 'does not create pipeline_schedule' do + post api("/projects/#{project.id}/pipeline_schedules", developer), + description: description, ref: ref, cron: 'invalid-cron', + cron_timezone: cron_timezone, active: active + + expect(response).to have_http_status(:bad_request) + expect(json_response['message']).to have_key('cron') + end + end end context 'authenticated user with invalid permissions' do @@ -147,17 +158,6 @@ describe API::PipelineSchedules do end context 'authenticated user with valid permissions' do - let(:new_ref) { 'patch-x' } - - it 'updates ref' do - put api("/projects/#{project.id}/pipeline_schedules/#{pipeline_schedule.id}", developer), - ref: new_ref - - expect(response).to have_http_status(:ok) - expect(response).to match_response_schema('pipeline_schedule') - expect(json_response['ref']).to eq(new_ref) - end - let(:new_cron) { '1 2 3 4 *' } it 'updates cron' do @@ -173,6 +173,16 @@ describe API::PipelineSchedules do expect(pipeline_schedule.next_run_at.day).to eq(3) expect(pipeline_schedule.next_run_at.month).to eq(4) end + + context 'when cron has validation error' do + it 'does not update pipeline_schedule' do + put api("/projects/#{project.id}/pipeline_schedules/#{pipeline_schedule.id}", developer), + cron: 'invalid-cron' + + expect(response).to have_http_status(:bad_request) + expect(json_response['message']).to have_key('cron') + end + end end context 'authenticated user with invalid permissions' do -- cgit v1.2.1