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