From ae2cbf0bec6405485fc7bb4f8a1873cdc6c9771b Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Mon, 23 Oct 2017 16:12:25 +1300 Subject: [PATCH] requests spec for modifying immutable gardens on api --- spec/requests/api/v1/gardens_request_spec.rb | 24 +++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/spec/requests/api/v1/gardens_request_spec.rb b/spec/requests/api/v1/gardens_request_spec.rb index 18fca22c3..d38fc8ab1 100644 --- a/spec/requests/api/v1/gardens_request_spec.rb +++ b/spec/requests/api/v1/gardens_request_spec.rb @@ -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