Sha256: e04f2f704d8244a1e1226b9b8ee9b2dd48b550236199a426d0e9fc12b6892197

Contents?: true

Size: 777 Bytes

Versions: 4

Compression:

Stored size: 777 Bytes

Contents

require 'spec_helper'
module Alf
  describe Relvar, "upsert" do
    include Relvar

    let(:tuples){ Relation.coerce(:id => 1) }

    def insert(*args)
      @method = :insert
      @seen = args
    end

    def update(*args)
      @method = :update
      @seen = args
    end

    subject{ upsert(tuples) }

    context 'when the relvar is not empty' do
      let(:empty?){ false }

      it 'delegates an update to the connection' do
        subject
        @method.should eq(:update)
        @seen.should eq([tuples])
      end
    end

    context 'when the relvar is empty' do
      let(:empty?){ true }

      it 'delegates an insert to the connection' do
        subject
        @method.should eq(:insert)
        @seen.should eq([tuples])
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
alf-core-0.15.0 spec/unit/alf-relvar/shared/test_upsert.rb
alf-core-0.14.0 spec/unit/alf-relvar/shared/test_upsert.rb
alf-core-0.13.1 spec/unit/alf-relvar/shared/test_upsert.rb
alf-core-0.13.0 spec/unit/alf-relvar/shared/test_upsert.rb