Sha256: af74e00ea0b110235de18130105b983ffbd4c5d8992f8fa08652d6c477b8bb0b

Contents?: true

Size: 788 Bytes

Versions: 1

Compression:

Stored size: 788 Bytes

Contents

require 'spec_helper'

describe 'User commands' do
  subject(:users) { rom.command(:users) }

  describe 'create' do
    it 'inserts user with valid params' do
      result = users.try { create(name: 'Jade') }

      expect(result.value).to eql(id: result.value[:id], name: 'Jade')
    end

    it 'returns error if params are not valid' do
      result = users.try { create(name: '') }

      expect(result.value).to be(nil)
      expect(result.error).to be_instance_of(ROM::Model::ValidationError)
      expect(result.error.messages[:name]).to include("can't be blank")
    end
  end

  describe 'delete' do
    it 'deletes record' do
      users.create.call(name: 'Piotr')
      result = users.try { delete(:by_name, 'Piotr') }

      expect(result.error).to be(nil)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rom-rails-0.2.1 spec/dummy/spec/integration/user_commands_spec.rb