spec/lib/azeroth/request_handler/update_spec.rb in azeroth-0.2.0 vs spec/lib/azeroth/request_handler/update_spec.rb in azeroth-0.3.0

- old
+ new

@@ -2,13 +2,14 @@ require 'spec_helper' describe Azeroth::RequestHandler::Update do describe '#process' do + let!(:document) { create(:document) } + it_behaves_like 'a request handler' do let(:expected_resource) { document } - let!(:document) { create(:document) } let(:extra_params) do { id: document.id, document: { @@ -24,9 +25,33 @@ it 'updates the values' do expect { handler.process } .to change { document.reload.name } .from(document.name) .to('New Name') + end + end + + context 'when payload is invalid' do + it_behaves_like 'a request handler', + status: :unprocessable_entity do + let(:expected_resource) { document } + let(:extra_params) do + { + id: document.id, + document: { + name: nil + } + } + end + + let(:expected_json) do + { 'name' => nil } + end + + it 'does not update entry' do + expect { handler.process } + .not_to(change { document.reload.name }) + end end end end end