Sha256: 29aa12f3a09e59123864eaa735e1d893b59c1e0db3f5046cde157b630e9015d7

Contents?: true

Size: 1.24 KB

Versions: 4

Compression:

Stored size: 1.24 KB

Contents

require File.expand_path('../test_helper', __FILE__)

module Loquor
  class ResourceMockTest < Minitest::Test
    class Foobar < Resource
      extend ResourceMock
      self.attributes = {
        name: "Foobar"
      }
    end

    def test_should_be_able_to_set_allowed_attributes
      name = "Cat"
      foobar = Foobar.find(1)
      foobar.name = name
      assert_equal name, foobar.name
    end

    def test_should_not_be_able_to_set_arbitary_attributes
      foobar = Foobar.find(1)
      ex = assert_raises(NameError) do
        foobar.description = "Cat"
      end
      assert_equal "undefined local variable or method 'description=' for Loquor::ResourceMockTest::Foobar", ex.message
    end

    def test_should_return_sample_object
      foobar = Foobar.sample
      assert_equal "Foobar", foobar.name
    end

    def test_should_allow_sample_attributes_to_be_overriden
      name = "Cat"
      foobar = Foobar.sample(name: name)
      assert_equal name, foobar.name
    end

    def test_should_not_be_able_to_override_arbitary_attributes
      ex = assert_raises(NameError) do
        Foobar.sample(cat: "foobar")
      end
      assert_equal "undefined local variable or method 'cat' for Loquor::ResourceMockTest::Foobar", ex.message
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
loquor-0.9.0 test/resource_mock_test.rb
loquor-0.8.0 test/resource_mock_test.rb
loquor-0.7.0 test/resource_mock_test.rb
loquor-0.6.0 test/resource_mock_test.rb