From d93fe9a04a43d6db890b59a1348c71f852d3e7fc Mon Sep 17 00:00:00 2001 From: Giovanne Marcelo <gms15@inf.ufpr.br> Date: Thu, 23 Feb 2017 11:23:01 -0300 Subject: [PATCH] add mime types tests --- spec/acceptance/mime_types_spec.rb | 62 ++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 15 deletions(-) diff --git a/spec/acceptance/mime_types_spec.rb b/spec/acceptance/mime_types_spec.rb index c6b853b71..5ded524aa 100644 --- a/spec/acceptance/mime_types_spec.rb +++ b/spec/acceptance/mime_types_spec.rb @@ -1,34 +1,66 @@ require 'acceptance_helpers' -resource 'MimeTypes' do - header 'Accept', 'application/json' - header 'Content-Type', 'application/json' +resource 'Mime Types' do before { 12.times { create(:mime_type) } } let(:mime_types) { MimeType.all } get '/v1/mime_types' do - parameter :limit, 'Limit of mime_types' - parameter :offset, 'Offset of mime_types' - let(:limit) { 12 } - let(:offset) { 0 } - - example_request 'Get a list of mime_types' do - # active model serializer may render model associations in different order for collections (array of items), so we're verifing only returned ids - expect(JSON.parse(response_body).map { |o| o['id'] }.sort).to eq(MimeType.limit(limit).offset(offset).pluck(:id).sort) + example_request 'Getting all mime_types' do expect(status).to eq(200) end end get '/v1/mime_types/:id' do + + let(:id) { mime_types.first.id } + + example_request 'Getting a mime_type' do + expect(status).to eq(200) + end + end + + + post '/v1/mime_types' do + include_context "authenticate_user" + + parameter :extension, 'The name of the mime_type', scope: :mime_type + parameter :mime_type, 'The mime_type', scope: :mime_type + + let(:id) { mime_types.first.id } + let(:extension) { Faker::File.extension } + let(:mime_type) { Faker::File.mime_type } + let(:raw_post) { params.to_json } + + example_request 'Create mime_types' do + expect(status).to eq(201) + end + end + + put '/v1/mime_types/:id' do + include_context "authenticate_user" + + parameter :extension, 'The name of the mime_type', scope: :mime_type + parameter :mime_type, 'The mime_type', scope: :mime_type + + let(:id) { mime_types.first.id } + let(:extension) { Faker::File.extension } + let(:mime_type) { Faker::File.mime_type } + let(:raw_post) { params.to_json } + + example_request 'Updating mime_types' do + expect(status).to eq(200) + end + end + + delete '/v1/mime_types/:id' do + include_context "authenticate_user" + let(:id) { mime_types.first.id } - example 'Get a mime_type' do - do_request - expect(path).to eq("/v1/mime_types/#{id}") # `:id` is replaced with the value of `id` - expect(response_body).to eq(Helper.serialize(MimeType.find(id))) + example_request 'Destroy a mime_type' do expect(status).to eq(200) end end -- GitLab