Sha256: 98d93dbfd77b32248247b8485fb0fe89d752886ea86854d6f36962b0916c6599

Contents?: true

Size: 1.14 KB

Versions: 15

Compression:

Stored size: 1.14 KB

Contents

RSpec::Matchers.define :invalidate do
  match do |actual|
    DB.transaction do
      expect{ actual.save }.to raise_error
      actual.errors.on(:base)[0].starts_with?("Access denied to").should == true
      raise Sequel::Rollback
    end

    true
  end
end

RSpec::Matchers.define :validate do
  match do |actual|
    DB.transaction do
      expect{ actual.save }.to_not raise_error
      raise Sequel::Rollback
    end

    true
  end
end

RSpec::Matchers.define :destroy do
  match do |actual|
    DB.transaction do
      expect{ actual.destroy.should }.to_not raise_error
      raise Sequel::Rollback
    end

    actual.class.where(id: actual.id).delete

    true
  end
end

RSpec::Matchers.define :survive do
  match do |actual|
    DB.transaction do
      expect{ actual.destroy.should }.to raise_error
      raise Sequel::Rollback
    end

    actual.class.where(id: actual.id).delete

    true
  end
end

def log!
  around(:each) do |e|
    DB.loggers << Logger.new(STDOUT)
    e.run
    DB.loggers = []
  end
end

def assign!(model, fields)
  model.set_all(fields)
end

def read_attribute(model, field)
  model.instance_variable_get("@values")[field]
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
protector-0.7.7 spec/spec_helpers/adapters/sequel.rb
protector-0.7.6 spec/spec_helpers/adapters/sequel.rb
protector-0.7.4 spec/spec_helpers/adapters/sequel.rb
protector-0.7.3 spec/spec_helpers/adapters/sequel.rb
protector-0.7.2 spec/spec_helpers/adapters/sequel.rb
protector-0.7.1 spec/spec_helpers/adapters/sequel.rb
protector-0.7.0 spec/spec_helpers/adapters/sequel.rb
protector-0.6.4 spec/spec_helpers/adapters/sequel.rb
protector-0.6.3 spec/spec_helpers/adapters/sequel.rb
protector-0.6.2 spec/spec_helpers/adapters/sequel.rb
protector-0.6.1 spec/spec_helpers/adapters/sequel.rb
protector-0.6.0 spec/spec_helpers/adapters/sequel.rb
protector-0.6.0.beta.1 spec/spec_helpers/adapters/sequel.rb
protector-0.5.5 spec/spec_helpers/adapters/sequel.rb
protector-0.5.4 spec/spec_helpers/adapters/sequel.rb