Sha256: 1e345a07603a5fdb623e7df75519bed08bcd10d0417ace15322de652d7cea77a

Contents?: true

Size: 1.24 KB

Versions: 7

Compression:

Stored size: 1.24 KB

Contents

require "#{File.dirname(__FILE__)}/../spec_helper"


describe 'Tag, Unit', :unit_test => true do

  let(:clazz) { CukeModeler::Tag }
  let(:model) { clazz.new }


  describe 'common behavior' do

    it_should_behave_like 'a model'
    it_should_behave_like 'a sourced model'
    it_should_behave_like 'a parsed model'

  end


  describe 'unique behavior' do

    it 'has a name' do
      expect(model).to respond_to(:name)
    end

    it 'can change its name' do
      expect(model).to respond_to(:name=)

      model.name = :some_name
      expect(model.name).to eq(:some_name)
      model.name = :some_other_name
      expect(model.name).to eq(:some_other_name)
    end


    describe 'abstract instantiation' do

      context 'a new tag object' do

        let(:tag) { clazz.new }


        it 'starts with no name' do
          expect(tag.name).to be_nil
        end

      end

    end

  end


  describe 'tag output' do

    it 'is a String' do
      expect(model.to_s).to be_a(String)
    end


    context 'from abstract instantiation' do

      let(:tag) { clazz.new }


      it 'can output an empty tag' do
        expect { tag.to_s }.to_not raise_error
      end

    end

  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
cuke_modeler-1.2.1 testing/rspec/spec/unit/tag_unit_spec.rb
cuke_modeler-1.2.0 testing/rspec/spec/unit/tag_unit_spec.rb
cuke_modeler-1.1.1 testing/rspec/spec/unit/tag_unit_spec.rb
cuke_modeler-1.1.0 testing/rspec/spec/unit/tag_unit_spec.rb
cuke_modeler-1.0.4 testing/rspec/spec/unit/tag_unit_spec.rb
cuke_modeler-1.0.3 testing/rspec/spec/unit/tag_unit_spec.rb
cuke_modeler-1.0.2 testing/rspec/spec/unit/tag_unit_spec.rb