diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/controllers/projects/deployments_controller_spec.rb | 13 | ||||
-rw-r--r-- | spec/fixtures/api/schemas/deployments.json | 58 |
2 files changed, 62 insertions, 9 deletions
diff --git a/spec/controllers/projects/deployments_controller_spec.rb b/spec/controllers/projects/deployments_controller_spec.rb index fbe510fb539..89692b601b2 100644 --- a/spec/controllers/projects/deployments_controller_spec.rb +++ b/spec/controllers/projects/deployments_controller_spec.rb @@ -6,16 +6,15 @@ describe Projects::DeploymentsController do let(:user) { create(:user) } let(:project) { create(:empty_project) } let(:environment) { create(:environment, name: 'production', project: project) } - let(:deployment) { create(:deployment, project: project, environment: environment) } before do - project.team << [user, :master] + project.add_master(user) sign_in(user) end describe 'GET #index' do - it 'returns list of deployments withing last 8 hours' do + it 'returns list of deployments from last 8 hours' do create(:deployment, environment: environment, created_at: 9.hours.ago) create(:deployment, environment: environment, created_at: 7.hours.ago) create(:deployment, environment: environment) @@ -31,13 +30,9 @@ describe Projects::DeploymentsController do create(:deployment, environment: environment) get :index, environment_params - expect(response).to be_ok - - deployments = json_response['deployments'] - deployment_info = deployments.first.with_indifferent_access - expect(deployments.count).to eq(1) - expect(deployment_info).to include(:id, :iid, :sha, :ref, :tag, :created_at) + expect(response).to be_ok + expect(response).to match_response_schema('deployments') end end diff --git a/spec/fixtures/api/schemas/deployments.json b/spec/fixtures/api/schemas/deployments.json new file mode 100644 index 00000000000..1112f23aab2 --- /dev/null +++ b/spec/fixtures/api/schemas/deployments.json @@ -0,0 +1,58 @@ +{ + "additionalProperties": false, + "properties": { + "deployments": { + "items": { + "additionalProperties": false, + "properties": { + "created_at": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "iid": { + "type": "integer" + }, + "last?": { + "type": "boolean" + }, + "ref": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "sha": { + "type": "string" + }, + "tag": { + "type": "boolean" + } + }, + "required": [ + "sha", + "created_at", + "iid", + "tag", + "last?", + "ref", + "id" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "deployments" + ], + "type": "object" +} |