[ap4r-devel] [268] branches/200709_gihyo/async_shop/as_rails/test: Add AP4R test stub not to use network.

shino at rubyforge.org shino at rubyforge.org
Tue Aug 28 03:40:28 EDT 2007


Revision: 268
Author:   shino
Date:     2007-08-28 03:40:27 -0400 (Tue, 28 Aug 2007)

Log Message:
-----------
Add AP4R test stub not to use network.
This stub code should be moved to AP4R modules. (needs refactoring)
Add a test case which assert a (would-be) queued message.

Modified Paths:
--------------
    branches/200709_gihyo/async_shop/as_rails/test/functional/async_shop_controller_test.rb
    branches/200709_gihyo/async_shop/as_rails/test/test_helper.rb

Modified: branches/200709_gihyo/async_shop/as_rails/test/functional/async_shop_controller_test.rb
===================================================================
--- branches/200709_gihyo/async_shop/as_rails/test/functional/async_shop_controller_test.rb	2007-08-28 07:36:11 UTC (rev 267)
+++ branches/200709_gihyo/async_shop/as_rails/test/functional/async_shop_controller_test.rb	2007-08-28 07:40:27 UTC (rev 268)
@@ -15,4 +15,17 @@
   def test_truth
     assert true
   end
+
+  def test_order
+    post :order, :order => {:item => "introduction to AP4R"}
+    assert_response :redirect
+    assert_redirected_to :action => 'index'
+
+    messages = @controller.ap4r.queued_messages
+    assert_equal 1, messages.keys.size, "should have just ONE queued message"
+    assert messages.key?("queue.async_shop.payment"), "queue name is INCORRECT"
+    assert_match /order_id=\d+/, messages["queue.async_shop.payment"].first[:message],
+      "parameter order_id should be included"
+  end
+
 end

Modified: branches/200709_gihyo/async_shop/as_rails/test/test_helper.rb
===================================================================
--- branches/200709_gihyo/async_shop/as_rails/test/test_helper.rb	2007-08-28 07:36:11 UTC (rev 267)
+++ branches/200709_gihyo/async_shop/as_rails/test/test_helper.rb	2007-08-28 07:40:27 UTC (rev 268)
@@ -26,3 +26,23 @@
 
   # Add more helper methods to be used by all tests here...
 end
+
+module Ap4r
+  module AsyncHelper
+    module Base
+      def queued_messages
+        return @queued_messages if @queued_messages
+        @queued_messages = Hash.new {|hash, key| hash[key] = []}
+        return @queued_messages
+      end
+
+      private
+      def __queue_put(queue_name, queue_message, queue_headers)
+        puts queued_messages
+        puts queued_messages[queue_name]
+        queued_messages[queue_name] << {:headers => queue_headers, :message => queue_message}
+      end
+
+    end
+  end
+end




More information about the ap4r-devel mailing list