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