Sha256: bda2b0a3a3addbd0546d8a00aef807b618dc2c9f7e64d89913a1da31f7312620

Contents?: true

Size: 903 Bytes

Versions: 1

Compression:

Stored size: 903 Bytes

Contents

require 'spec_helper'

describe Lita::Handlers::Doubler, lita_handler: true do
  let(:robot) { Lita::Robot.new(registry) }

  subject { described_class.new(robot) }

  describe 'routing' do
    # allow extra whitespace
    it { is_expected.to route('Lita double 2') }
    it { is_expected.to route('Lita double    22') }
    # allow mixed casing
    it { is_expected.to route('Lita doUble 4') }

    # ignore numbers that don't look like integers
    it { is_expected.to_not route('Lita double two') }
    it { is_expected.to_not route('Lita double 1e4') }
  end

  it 'doubles numbers when asked' do
    send_message 'Lita double 2'
    expect(replies.last).to eq('2 + 2 = 4')
  end

  describe 'double_number' do
    let(:n) { rand(1..100) }

    it 'returns double the input' do
      actual = subject.double_number n
      expected = n * 2

      expect(actual).to equal(expected)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dp-test-lita-doubler-0.1.0 spec/lita/handlers/doubler_spec.rb