spec/javascript/server/unsubscribe_spec.js in faye-0.8.8 vs spec/javascript/server/unsubscribe_spec.js in faye-0.8.9
- old
+ new
@@ -2,29 +2,29 @@
before(function() { with(this) {
this.engine = {}
stub(Faye.Engine, "get").returns(engine)
this.server = new Faye.Server()
}})
-
+
describe("#unsubscribe", function() { with(this) {
before(function() { with(this) {
this.clientId = "fakeclientid"
this.message = {channel: "/meta/unsubscribe",
clientId: "fakeclientid",
subscription: "/foo"}
}})
-
+
describe("with valid parameters", function() { with(this) {
before(function() { with(this) {
expect(engine, "clientExists").given(clientId).yielding([true])
}})
-
+
it("unsubscribes the client from the channel", function() { with(this) {
expect(engine, "unsubscribe").given(clientId, "/foo")
server.unsubscribe(message, false, function() {})
}})
-
+
it("returns a successful response", function() { with(this) {
stub(engine, "unsubscribe")
server.unsubscribe(message, false, function(response) {
assertEqual({
channel: "/meta/unsubscribe",
@@ -32,22 +32,22 @@
clientId: clientId,
subscription: "/foo"
}, response)
})
}})
-
+
describe("with a list of subscriptions", function() { with(this) {
before(function() { with(this) {
message.subscription = ["/foo", "/bar"]
}})
-
+
it("destroys multiple subscriptions", function() { with(this) {
expect(engine, "unsubscribe").given(clientId, "/foo")
expect(engine, "unsubscribe").given(clientId, "/bar")
server.unsubscribe(message, false, function() {})
}})
-
+
it("returns a successful response", function() { with(this) {
stub(engine, "unsubscribe")
server.unsubscribe(message, false, function(response) {
assertEqual({
channel: "/meta/unsubscribe",
@@ -56,21 +56,21 @@
subscription: ["/foo", "/bar"]
}, response)
})
}})
}})
-
+
describe("with a subscription pattern", function() { with(this) {
before(function() { with(this) {
message.subscription = "/foo/**"
}})
-
+
it("destroys the subscription to the channel pattern", function() { with(this) {
expect(engine, "unsubscribe").given(clientId, "/foo/**")
server.unsubscribe(message, false, function() {})
}})
-
+
it("returns a successful response", function() { with(this) {
stub(engine, "unsubscribe")
server.unsubscribe(message, false, function(response) {
assertEqual({
channel: "/meta/unsubscribe",
@@ -80,21 +80,21 @@
}, response)
})
}})
}})
}})
-
+
describe("with an unknown client", function() { with(this) {
before(function() { with(this) {
expect(engine, "clientExists").given(clientId).yielding([false])
}})
-
+
it("does not unsubscribe the client from the channel", function() { with(this) {
expect(engine, "unsubscribe").exactly(0)
server.unsubscribe(message, false, function() {})
}})
-
+
it("returns an unsuccessful response", function() { with(this) {
server.unsubscribe(message, false, function(response) {
assertEqual({
channel: "/meta/unsubscribe",
successful: false,
@@ -103,22 +103,22 @@
subscription: "/foo"
}, response)
})
}})
}})
-
+
describe("missing clientId", function() { with(this) {
before(function() { with(this) {
delete message.clientId
expect(engine, "clientExists").given(undefined).yielding([false])
}})
-
+
it("does not unsubscribe the client from the channel", function() { with(this) {
expect(engine, "unsubscribe").exactly(0)
server.unsubscribe(message, false, function() {})
}})
-
+
it("returns an unsuccessful response", function() { with(this) {
server.unsubscribe(message, false, function(response) {
assertEqual({
channel: "/meta/unsubscribe",
successful: false,
@@ -126,22 +126,22 @@
subscription: "/foo"
}, response)
})
}})
}})
-
+
describe("missing subscription", function() { with(this) {
before(function() { with(this) {
delete message.subscription
expect(engine, "clientExists").given(clientId).yielding([true])
}})
-
+
it("does not unsubscribe the client from the channel", function() { with(this) {
expect(engine, "unsubscribe").exactly(0)
server.unsubscribe(message, false, function() {})
}})
-
+
it("returns an unsuccessful response", function() { with(this) {
server.unsubscribe(message, false, function(response) {
assertEqual({
channel: "/meta/unsubscribe",
successful: false,
@@ -150,22 +150,22 @@
subscription: []
}, response)
})
}})
}})
-
+
describe("with an invalid channel", function() { with(this) {
before(function() { with(this) {
message.subscription = "foo"
expect(engine, "clientExists").given(clientId).yielding([true])
}})
-
+
it("does not unsubscribe the client from the channel", function() { with(this) {
expect(engine, "unsubscribe").exactly(0)
server.unsubscribe(message, false, function() {})
}})
-
+
it("returns an unsuccessful response", function() { with(this) {
server.unsubscribe(message, false, function(response) {
assertEqual({
channel: "/meta/unsubscribe",
successful: false,
@@ -174,22 +174,22 @@
subscription: "foo"
}, response)
})
}})
}})
-
+
describe("with a /meta/* channel", function() { with(this) {
before(function() { with(this) {
message.subscription = "/meta/foo"
expect(engine, "clientExists").given(clientId).yielding([true])
}})
-
+
it("does not unsubscribe the client from the channel", function() { with(this) {
expect(engine, "unsubscribe").exactly(0)
server.unsubscribe(message, false, function() {})
}})
-
+
it("returns an unsuccessful response", function() { with(this) {
server.unsubscribe(message, false, function(response) {
assertEqual({
channel: "/meta/unsubscribe",
successful: false,
@@ -197,16 +197,16 @@
clientId: clientId,
subscription: "/meta/foo"
}, response)
})
}})
-
+
it("unsubscribes local clients from the channel", function() { with(this) {
expect(engine, "unsubscribe").given(clientId, "/meta/foo")
server.unsubscribe(message, true, function() {})
}})
-
+
it("returns a successful response for local clients", function() { with(this) {
stub(engine, "unsubscribe")
server.unsubscribe(message, true, function(response) {
assertEqual({
channel: "/meta/unsubscribe",
@@ -215,21 +215,21 @@
subscription: "/meta/foo"
}, response)
})
}})
}})
-
+
describe("with an error", function() { with(this) {
before(function() { with(this) {
message.error = "invalid"
expect(engine, "clientExists").given(clientId).yielding([true])
}})
-
+
it("does not unsubscribe the client from the channel", function() { with(this) {
expect(engine, "unsubscribe").exactly(0)
server.unsubscribe(message, false, function() {})
}})
-
+
it("returns an unsuccessful response", function() { with(this) {
server.unsubscribe(message, false, function(response) {
assertEqual({
channel: "/meta/unsubscribe",
successful: false,