Sha256: 12bc20aa8ec99de516ba59498d0e3123183d90fcc748113a00998ffb78c4e9ac

Contents?: true

Size: 1.59 KB

Versions: 2

Compression:

Stored size: 1.59 KB

Contents

require 'rubygems'
gem 'mongoid'
require 'mongoid'
require 'stringex'
# Reload adapters to make sure ActsAsUrl sees the ORM
Stringex::ActsAsUrl::Adapter.load_available

puts "-------------------------------------------------"
puts "Running ActsAsUrl tests with Mongoid adapter"
puts "-------------------------------------------------"

Mongoid.configure do |config|
  config.connect_to('acts_as_url')
end

class Document
  include Mongoid::Document
  field :title, :type => String
  field :other, :type => String
  field :url,   :type => String

  acts_as_url :title
end

class STIBaseDocument
  include Mongoid::Document
  field :title, :type => String
  field :other, :type => String
  field :url,   :type => String
  field :type,  :type => String

  # This gets redefined in the only test that uses it but I want to be uniform
  # in setting configuration details in the tests themselves
  acts_as_url :title
end

class STIChildDocument < STIBaseDocument
end

class AnotherSTIChildDocument < STIBaseDocument
end

module AdapterSpecificTestBehaviors
  def setup
    # No setup tasks at present
  end

  def teardown
    [Document, STIBaseDocument].each do |klass|
      klass.delete_all
      # Reset behavior to default
      klass.class_eval do
        acts_as_url :title
      end
    end
  end

  def add_validation_on_document_title
    Document.class_eval do
      validates_presence_of :title
    end
  end

  def remove_validation_on_document_title
    Document.class_eval do
      _validators.delete :title
    end
  end

  def adapter_specific_update(instance, hash)
    instance.send :update_attributes!, hash
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
stringex-2.0.1 test/acts_as_url/adapter/mongoid.rb
stringex-2.0.0 test/acts_as_url/adapter/mongoid.rb