Sha256: cdb260afce3715d95c7eb30a4847372d92df32c9614d396f6e21e255e31c327f

Contents?: true

Size: 1.03 KB

Versions: 5

Compression:

Stored size: 1.03 KB

Contents

require "spec_helper"
module Alf
  module Sequel
    module UnitOfWork
      describe Update, "run" do

        let(:conn){ sap_memory.adapter_connection }
        let(:uow){
          UnitOfWork::Update.new(conn, relvar_name, updating, predicate)
        }
        let(:updating){ {status: 55} }
        subject{ uow.run }

        before do
          subject.should be(uow)
        end

        context 'when predicate is a tautology' do
          let(:relvar_name){ :suppliers }
          let(:predicate){ Predicate.tautology }

          it 'updates all tuples' do
            conn.dataset(relvar_name).where(status: 55).to_a.size.should eq(5)
          end
        end

        context 'when predicate is not a tautology' do
          let(:relvar_name){ :suppliers }
          let(:predicate){ Predicate.eq(sid: "S1") }

          it 'removes only targetted tuples' do
            conn.dataset(relvar_name).where(status: 55).to_a.size.should eq(1)
          end
        end

      end
    end # module UnitOfWork
  end # module Sequel
end # module Alf

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
alf-sequel-0.16.3 spec/unit_of_work/update/test_run.rb
alf-sequel-0.16.2 spec/unit_of_work/update/test_run.rb
alf-sequel-0.16.1 spec/unit_of_work/update/test_run.rb
alf-sequel-0.16.0 spec/unit_of_work/update/test_run.rb
alf-sequel-0.15.0 spec/unit_of_work/update/test_run.rb