Sha256: 4cc8f9fb9adbb8a83dc6a8f2fd6f97fd083852a51b35c227a46e5946b8fac150

Contents?: true

Size: 1.56 KB

Versions: 31

Compression:

Stored size: 1.56 KB

Contents

# frozen_string_literal: true

require 'test_helper'

module Vedeu

  module Views

    describe Lines do

      let(:described)  { Vedeu::Views::Lines }
      let(:instance)   { described.new }
      let(:collection) { Vedeu::Views::Lines.new }
      let(:parent)     {}
      let(:_name)      {}

      it { described.superclass.must_equal(Vedeu::Repositories::Collection) }

      describe '.coerce' do
        let(:line) { Vedeu::Views::Line.new }

        subject { described.coerce(collection, parent, _name) }

        context 'when the collection is a Vedeu::Views::Lines' do
          it { subject.must_equal(collection) }
        end

        context 'when the collection is an Array' do
          context 'when the collection is not empty' do
            let(:collection) { [line, nil, line] }
            let(:expected)   { described.new([line, line]) }

            it { subject.must_equal(expected) }
          end

          context 'when the collection is empty' do
            let(:collection) { [] }
            let(:expected)   { described.new }

            it { subject.must_equal(expected) }
          end
        end

        context 'when the collection is a Vedeu::Views::Line' do
          let(:collection) { line }
          let(:expected)   { described.new([line]) }

          it { subject.must_equal(expected) }
        end

        context 'when the collection is something else' do
          let(:collection) { :invalid }

          it { proc { subject }.must_raise(Vedeu::Error::InvalidSyntax) }
        end
      end

    end # Lines

  end # Views

end # Vedeu

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
vedeu-0.8.12 test/lib/vedeu/views/lines_test.rb
vedeu-0.8.10 test/lib/vedeu/views/lines_test.rb
vedeu-0.8.9 test/lib/vedeu/views/lines_test.rb
vedeu-0.8.8 test/lib/vedeu/views/lines_test.rb
vedeu-0.8.7 test/lib/vedeu/views/lines_test.rb
vedeu-0.8.6 test/lib/vedeu/views/lines_test.rb
vedeu-0.8.5 test/lib/vedeu/views/lines_test.rb
vedeu-0.8.4 test/lib/vedeu/views/lines_test.rb
vedeu-0.8.3 test/lib/vedeu/views/lines_test.rb
vedeu-0.8.2 test/lib/vedeu/views/lines_test.rb
vedeu-0.8.1 test/lib/vedeu/views/lines_test.rb