Sha256: b6958fa0956cc5c35e235f22f1b09be998351d9dd5f3d1e57400e70e09e780ea

Contents?: true

Size: 1006 Bytes

Versions: 1

Compression:

Stored size: 1006 Bytes

Contents

require_relative 'test_helper'

class Document
  include Mongoid::Document

  field :range, type: Mongoid::TimeRange
end

class IntegrationTest < Minitest::Test
  def test_it_initializes_with_nil
    assert_nil Document.create.range
  end


  def test_it_initializes_with_default_hash
    assert(Class.new(Document) do
      field :range, type: Mongoid::TimeRange, default: ->{ { from: Time.now } }
    end.create.range)
  end


  def test_it_initializes_with_default_time_range
    assert(Class.new(Document) do
      field :range, type: Mongoid::TimeRange, default: ->{ Mongoid::TimeRange.new(Time.now) }
    end.create.range)
  end


  def test_it_initializes_with_given_from
    document = Document.create(range: { from: Time.now })

    assert     document.range.from
    assert_nil document.range.to
  end


  def test_it_initializes_with_given_from_and_to
    document = Document.create(range: { from: Time.now, to: Time.now })

    assert document.range.from
    assert document.range.to
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mongoid-time_range-0.5.0 test/integration_test.rb