public void channel_broadcast_has_messages_from_multiple_users() { IBackStore store = new BackStore(); store.Subscribe("user-1", "channel-1"); store.Subscribe("user-2", "channel-1"); var ret1 = store.PushBroadcast("user-1", "channel-1", "broadcast message 1"); var ret2 = store.PushBroadcast("user-2", "channel-1", "broadcast message 2"); Assert.Contains(store.ChannelMessages("channel-1"), itm => itm.Id == ret1.Item2); Assert.Contains(store.ChannelMessages("channel-1"), itm => itm.Id == ret2.Item2); }
public void channel_broadcasts_only_to_subbed_users() { IBackStore store = new BackStore(); store.Subscribe("user-1", "channel-1"); store.Subscribe("user-2", "channel-2"); var ret = store.PushBroadcast("user-1", "channel-1", "broadcast message"); Assert.Contains(store.UserMessages("user-1"), itm => itm.Id == ret.Item2); Assert.DoesNotContain(store.UserMessages("user-2"), itm => itm.Id == ret.Item2); }
public void broadcast_creates_message_other_users_can_see() { IBackStore store = new BackStore(); store.Subscribe("user-1", "channel-1"); store.Subscribe("user-2", "channel-1"); var ret = store.PushBroadcast("user-1", "channel-1", "broadcast message"); Assert.Contains(store.UserMessages("user-1"), itm => itm.Id == ret.Item2); Assert.Contains(store.UserMessages("user-2"), itm => itm.Id == ret.Item2); }
public void mismatched_broadcast_returns_NotSubscribed(string username_, string channel_) { IBackStore store = new BackStore(); Assert.DoesNotContain(username_, store.Users); Assert.DoesNotContain(username_, store.ChannelUsers(channel_)); var ret = store.PushBroadcast(username_, channel_, "broadcast message"); Assert.DoesNotContain(username_, store.ChannelUsers(channel_)); Assert.Equal(eOpStatus.NotSubScribed, ret.Item1.code); }
public void broadcast_into_subbed_chan_returns_Ok(string username_, string channel_) { IBackStore store = new BackStore(); Assert.DoesNotContain(username_, store.Users); Assert.DoesNotContain(username_, store.ChannelUsers(channel_)); store.Subscribe(username_, channel_); Assert.Contains(username_, store.ChannelUsers(channel_)); var ret = store.PushBroadcast(username_, channel_, "broadcast message"); Assert.Equal(eOpStatus.Ok, ret.Item1.code); }