Sha256: c9012154b71c68ca48a9c63fd8325fca59ba0fdb651d2a3a591c1e732f662b85

Contents?: true

Size: 1.63 KB

Versions: 10

Compression:

Stored size: 1.63 KB

Contents

require 'test_helper'

module PushType
  class NodeTest < ActiveSupport::TestCase

    class TestPage < PushType::Node
      field :foo
      field :bar
      field :baz
    end

    let(:node) { Node.new }

    it { node.wont_be :valid? }

    it 'should be valid with required attributes' do
      node.attributes = FactoryGirl.attributes_for :node
      node.must_be :valid?
    end

    describe '.find_by_base64_id' do
      let(:node)  { n = FactoryGirl.build(:node); n.save(validate: false); n }
      let(:id)    { node.base64_id }
      it { PushType::Node.find_by_base64_id(id).must_equal node }
    end

    describe '#base64_id' do
      let(:node) { n = FactoryGirl.build(:node); n.save(validate: false); n }
      it { Base64.urlsafe_decode64(node.base64_id).must_equal node.id }
    end

    describe '#permalink' do
      before do
        %w(one two three).each { |slug| @node = FactoryGirl.build(:node, slug: slug, parent: @node); @node.save(validate: false); @node }
      end
      it { @node.permalink.must_equal 'one/two/three' }
    end

    describe '#orphan?' do
      let(:parent)  { FactoryGirl.create :node }
      let(:child)   { n = FactoryGirl.build(:node, parent: parent); n.save(validate: false); n }
      before { child && parent.trash! }
      it { parent.wont_be :orphan? }
      it { child.must_be :orphan? }
    end

    describe '#trash!' do
      let(:parent)  { FactoryGirl.create :node }
      let(:child)   { n = FactoryGirl.build(:node, parent: parent); n.save(validate: false); n }
      before { child && parent.trash! }
      it { parent.must_be :trashed? }
      it { child.reload.must_be :trashed? }
    end

  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
push_type_core-0.11.2 test/models/push_type/node_test.rb
push_type_core-0.11.1 test/models/push_type/node_test.rb
push_type_core-0.11.0.beta.2 test/models/push_type/node_test.rb
push_type_core-0.11.0.beta.1 test/models/push_type/node_test.rb
push_type_core-0.10.4 test/models/push_type/node_test.rb
push_type_core-0.10.3 test/models/push_type/node_test.rb
push_type_core-0.10.2 test/models/push_type/node_test.rb
push_type_core-0.10.1 test/models/push_type/node_test.rb
push_type_core-0.10.0 test/models/push_type/node_test.rb
push_type_core-0.10.0.beta.5 test/models/push_type/node_test.rb