Sha256: 1e7ffa6768a62677479e238f4d2a97f4f686cdc2a3de2074ea6c615dd59d5b29

Contents?: true

Size: 759 Bytes

Versions: 3

Compression:

Stored size: 759 Bytes

Contents

require 'test_helper'

module PushType
  class AssetFieldTest < ActiveSupport::TestCase

    class TestPage < PushType::Node
      field :foo_id, :asset
    end

    let(:node)  { TestPage.create FactoryBot.attributes_for(:node, foo_id: asset.id) }
    let(:asset) { FactoryBot.create :asset }
    let(:field) { node.fields[:foo_id] }
    
    it { field.template.must_equal 'asset' }
    it { field.relation_class.must_equal PushType::Asset }
    it { field.json_value.must_equal asset.id }
    it { field.value.must_equal asset.id }

    it { node.foo_id.must_equal asset.id }
    it { node.foo.must_equal asset }

    describe 'with missing relations' do
      before do
        asset.destroy
      end

      it { node.foo.must_be_nil }
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
push_type_core-0.12.1 test/fields/push_type/asset_field_test.rb
push_type_core-0.12.0 test/fields/push_type/asset_field_test.rb
push_type_core-0.12.0.beta.1 test/fields/push_type/asset_field_test.rb