spec/util_pubsub_spec.lua
changeset 8650 638ff2ad98e6
parent 8567 fd41dc4a78e9
child 8820 9a3066a580ad
--- a/spec/util_pubsub_spec.lua	Wed Mar 21 23:20:59 2018 +0100
+++ b/spec/util_pubsub_spec.lua	Wed Mar 21 17:03:13 2018 +0100
@@ -28,4 +28,28 @@
 			end);
 		end);
 	end);
+
+	describe("simple publishing", function ()
+		local broadcaster = spy.new(function () end);
+		local service = pubsub.new({ broadcaster = broadcaster; });
+
+		it("creates a node", function ()
+			assert.truthy(service:create("node", true));
+		end);
+
+		it("publishes an item", function ()
+			assert.truthy(service:publish("node", true, "1", "item 1"));
+		end);
+
+		it("called the broadcaster", function ()
+			assert.spy(broadcaster).was_called();
+		end);
+
+		it("should return one item", function ()
+			local ok, ret = service:get_items("node", true);
+			assert.truthy(ok);
+			assert.same({ "1", ["1"] = "item 1" }, ret);
+		end);
+
+	end);
 end);