Sha256: e5f467dd971689579d652a34a0f1c4a5d81badf4b2817d1a80a6cc1748e47ffe

Contents?: true

Size: 1.04 KB

Versions: 18

Compression:

Stored size: 1.04 KB

Contents

require 'spec_helper'
require 'rom/memory'

RSpec.describe ROM::Memory::Commands do
  let(:relation) do
    Class.new(ROM::Relation[:memory]) do
      schema do
        attribute :id, ROM::Memory::Types::Int
        attribute :name, ROM::Memory::Types::String
      end
    end.new(ROM::Memory::Dataset.new([]))
  end

  describe 'Create' do
    subject(:command) { ROM::Commands::Create[:memory].build(relation) }

    describe '#call' do
      it 'uses default input handler' do
        result = command.call([id: 1, name: 'Jane', haha: 'oops'])

        expect(result).to eql([{ id: 1, name: 'Jane' }])
      end
    end
  end

  describe 'Update' do
    subject(:command) { ROM::Commands::Update[:memory].build(relation) }

    before do
      relation.insert(id: 1, name: 'Jane')
    end

    describe '#call' do
      it 'uses default input handler' do
        result = command
          .new(relation.restrict(id: 1))
          .call(name: 'Jane Doe', haha: 'oops')

        expect(result).to eql([{ id: 1, name: 'Jane Doe' }])
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
rom-3.3.3 spec/unit/rom/memory/commands_spec.rb
rom-3.3.2 spec/unit/rom/memory/commands_spec.rb
rom-3.3.1 spec/unit/rom/memory/commands_spec.rb
rom-3.3.0 spec/unit/rom/memory/commands_spec.rb
rom-3.2.3 spec/unit/rom/memory/commands_spec.rb
rom-3.2.2 spec/unit/rom/memory/commands_spec.rb
rom-3.2.1 spec/unit/rom/memory/commands_spec.rb
rom-3.2.0 spec/unit/rom/memory/commands_spec.rb
rom-3.1.0 spec/unit/rom/memory/commands_spec.rb
rom-3.0.3 spec/unit/rom/memory/commands_spec.rb
rom-3.0.2 spec/unit/rom/memory/commands_spec.rb
rom-3.0.1 spec/unit/rom/memory/commands_spec.rb
rom-3.0.0 spec/unit/rom/memory/commands_spec.rb
rom-3.0.0.rc2 spec/unit/rom/memory/commands_spec.rb
rom-3.0.0.rc1 spec/unit/rom/memory/commands_spec.rb
rom-3.0.0.beta3 spec/unit/rom/memory/commands_spec.rb
rom-3.0.0.beta2 spec/unit/rom/memory/commands_spec.rb
rom-3.0.0.beta1 spec/unit/rom/memory/commands_spec.rb