Sha256: 95cb24effcd2731c3d9ad46f7120e99ddacf7fbdcb58077f5e93f7b743f1b5ab

Contents?: true

Size: 1.35 KB

Versions: 3

Compression:

Stored size: 1.35 KB

Contents

require File.dirname(__FILE__) + '/../spec_helper'
require 'taskwarrior-web/command_builder'

RSpec::Mocks::setup(TaskwarriorWeb::Config)

describe TaskwarriorWeb::CommandBuilder do
  describe '.included' do
    context 'when v2 is reported' do
      it 'should include CommandBuilder V2 module' do
        TaskwarriorWeb::Config.should_receive(:task_version).and_return('2.0.1')
        TestCommandClass.class_eval { include TaskwarriorWeb::CommandBuilder }
        TestCommandClass.should include(TaskwarriorWeb::CommandBuilder::V2)
      end
    end

    context 'when v1 is reported' do
      it 'should include CommandBuilder V1 module' do
        TaskwarriorWeb::Config.should_receive(:task_version).and_return('1.9.4')
        TestCommandClass.class_eval { include TaskwarriorWeb::CommandBuilder }
        TestCommandClass.should include(TaskwarriorWeb::CommandBuilder::V1)
      end
    end

    context 'when an invalid version number is reported' do
      it 'should throw an UnrecognizedTaskVersion exception' do
        TaskwarriorWeb::Config.should_receive(:task_version).and_return('95.583.3')
        expect { 
          TestCommandClass.class_eval { include TaskwarriorWeb::CommandBuilder }
        }.to raise_exception(TaskwarriorWeb::UnrecognizedTaskVersion)
      end
    end
  end
end

class TestCommandClass; end

module TaskwarriorWeb::CommandBuilder::V2; end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
taskwarrior-web-1.0.6 spec/models/command_builder_spec.rb
taskwarrior-web-1.0.5 spec/models/command_builder_spec.rb
taskwarrior-web-1.0.4 spec/models/command_builder_spec.rb