requests spec for modifying immutable gardens on api

This commit is contained in:
Brenda Wallace
2017-10-23 16:12:25 +13:00
parent c9d5c42814
commit ae2cbf0bec

View File

@@ -1,6 +1,7 @@
require 'rails_helper'
RSpec.describe 'Gardens', type: :request do
let(:headers) { { 'Accept' => 'application/vnd.api+json' } }
let!(:garden) { FactoryGirl.create :garden }
let(:garden_encoded_as_json_api) do
{ "id" => garden.id.to_s,
@@ -22,9 +23,30 @@ RSpec.describe 'Gardens', type: :request do
{ "self" => "http://www.example.com/api/v1/gardens/#{garden.id}/relationships/photos",
"related" => "http://www.example.com/api/v1/gardens/#{garden.id}/photos" } } } }
end
subject { JSON.parse response.body }
scenario '#index' do
get '/api/v1/gardens', {}, 'Accept' => 'application/vnd.api+json'
get '/api/v1/gardens', {}, headers
expect(subject['data']).to include(garden_encoded_as_json_api)
end
scenario '#show' do
get "/api/v1/gardens/#{garden.id}", {}, headers
expect(subject['data']).to include(garden_encoded_as_json_api)
end
scenario '#create' do
post '/api/v1/gardens', { 'garden' => { 'name' => 'can i make this' } }, headers
expect(response.code).to eq "404"
end
scenario '#update' do
post "/api/v1/gardens/#{garden.id}", { 'garden' => { 'name' => 'can i modify this' } }, headers
expect(response.code).to eq "404"
end
scenario '#delete' do
delete "/api/v1/gardens/#{garden.id}", {}, headers
expect(response.code).to eq "404"
end
end