Sha256: ce01109721397d021c6ed617050481f33cc98374796509e0d58d7e7389bf6fd2

Contents?: true

Size: 1.48 KB

Versions: 8

Compression:

Stored size: 1.48 KB

Contents

require 'assert'
require 'qs/message'

class Qs::Message

  class UnitTests < Assert::Context
    desc "Qs::Message"
    setup do
      @payload_type  = Factory.string
      @params        = { Factory.string => Factory.string }
      @message_class = Qs::Message
    end
    subject{ @message_class }

  end

  class InitTests < UnitTests
    desc "when init"
    setup do
      @message = @message_class.new(@payload_type, :params => @params)
    end
    subject{ @message }

    should have_readers :payload_type, :params
    should have_imeths :route_id, :route_name

    should "know its payload type and params" do
      assert_equal @payload_type, subject.payload_type
      assert_equal @params, subject.params
    end

    should "default its params" do
      message = @message_class.new(@payload_type)
      assert_equal({}, message.params)
    end

    should "know its route id" do
      route_name = Factory.string
      Assert.stub(subject, :route_name){ route_name }

      exp = RouteId.new(@payload_type, route_name)
      assert_equal exp, subject.route_id
    end

    should "raise a not implement error for its route name" do
      assert_raises(NotImplementedError){ subject.route_name }
    end

  end

  class RouteIdTests < UnitTests
    desc "RouteId"
    subject{ RouteId }

    should have_imeths :new

    should "build a route id given a payload type and a route name" do
      exp = "#{@payload_type}|#{@name}"
      assert_equal exp, subject.new(@payload_type, @name)
    end

  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
qs-0.8.1 test/unit/message_tests.rb
qs-0.8.0 test/unit/message_tests.rb
qs-0.7.1 test/unit/message_tests.rb
qs-0.7.0 test/unit/message_tests.rb
qs-0.6.1 test/unit/message_tests.rb
qs-0.6.0 test/unit/message_tests.rb
qs-0.5.0 test/unit/message_tests.rb
qs-0.4.0 test/unit/message_tests.rb