require 'spec_helper' describe ActiveRemote::Validations do let(:invalid_record) { ::Post.new } let(:valid_record) { ::Post.new(:name => 'test') } before { allow(valid_record).to receive(:create_or_update).and_return(true) } before { allow(invalid_record).to receive(:create_or_update).and_return(true) } describe 'save' do context 'valid record' do it 'returns true' do result = valid_record.save expect(result).to be true end end context 'invalid record' do it 'returns false' do result = invalid_record.save expect(result).to be false end end end describe 'save!' do context 'valid record' do it 'returns true' do result = valid_record.save! expect(result).to be true end end context 'invalid record' do it 'raises invalid record error' do expect { invalid_record.save! }.to raise_error(ActiveRemote::RemoteRecordInvalid) end end end describe 'valid?' do context 'valid record' do it 'returns true' do result = valid_record.valid? expect(result).to be true end end context 'invalid record' do it 'returns false' do result = invalid_record.valid? expect(result).to be false end end end end