spec/acfs/model/persistance_spec.rb in acfs-0.17.0 vs spec/acfs/model/persistance_spec.rb in acfs-0.18.0

- old
+ new

@@ -1,32 +1,35 @@ require 'spec_helper' describe Acfs::Model::Persistence do let(:model_class) { MyUser } before do - @get_stub = stub_request(:get, "http://users.example.org/users/1").to_return response({ id: 1, name: "Anon", age: 12 }) + @get_stub = stub_request(:get, 'http://users.example.org/users/1').to_return response({ id: 1, name: "Anon", age: 12 }) @patch_stub = stub_request(:put, 'http://users.example.org/users/1') - .with( - body: '{"id":1,"name":"Idefix","age":12}') - .to_return response({ id: 1, name: 'Idefix', age: 12 }) + .with(body: '{"id":1,"name":"Idefix","age":12}') + .to_return response({ id: 1, name: 'Idefix', age: 12 }) @post_stub = stub_request(:post, 'http://users.example.org/users') - .with(body: '{"id":null,"name":"Idefix","age":12}') - .to_return response({ id: 5, name: 'Idefix', age: 12 }) + .with(body: '{"id":null,"name":"Idefix","age":12}') + .to_return response({ id: 5, name: 'Idefix', age: 12 }) stub_request(:post, 'http://users.example.org/users') - .with(body: '{"id":null,"name":"Anon","age":null}') - .to_return response({ id: 5, name: 'Anon', age: 12 }) + .with(body: '{"id":null,"name":"Anon","age":null}') + .to_return response({ id: 5, name: 'Anon', age: 12 }) stub_request(:post, 'http://users.example.org/users') - .with(body: '{"name":"Idefix","age":12}') - .to_return response({ id: 5, name: 'Idefix', age: 12 }) + .with(body: '{"name":"Idefix","age":12}') + .to_return response({ id: 5, name: 'Idefix', age: 12 }) stub_request(:post, 'http://users.example.org/users') - .with(body: '{"age":12}') - .to_return response({ errors: { name: [ 'required' ] }}, status: 422) + .with(body: '{"age":12}') + .to_return response({ errors: { name: [ 'required' ] }}, status: 422) + + @del = stub_request(:delete, 'http://users.example.org/users/1') + .with(body: '{}') + .to_return response({ id: 1, name: 'Idefix', age: 12 }, status: 200) end context 'new model' do let(:model) { model_class.new } @@ -77,13 +80,28 @@ it { expect(model).to_not be_new } end context 'with changes' do let(:model) { model_class.find 1 } - before { model; Acfs.run; model.name = "dhh" } + before { model; Acfs.run; model.name = 'dhh' } it { expect(model).to_not be_persisted } it { expect(model).to_not be_new } + end + + describe '#delete!' do + let(:model) { model_class.find 1 } + before { model; Acfs.run } + + it 'should trigger DELETE request' do + model.delete! + expect(@del).to have_been_requested + end + + it 'should be frozen after DELETE' do + model.delete! + expect(model).to be_frozen + end end end describe '.create!' do context 'with valid data' do