Ejemplo n.º 1
0
        public void AddMessage_TwoMessagesTwoRecipients_AreListed()
        {
            // Arrange
            var target   = new MessagesRepository();
            var message1 = new Message {
                Recipient = "foo", Sender = "bar", Content = "Hello, World!"
            };
            var message2 = new Message {
                Recipient = "baz", Sender = "bar", Content = "Hello, World!"
            };

            // Act
            target.AddMessage("foo", message1);
            target.AddMessage("baz", message2);
            // Assert
            target.GetMessages("foo").ShouldContain(message1);
            target.GetMessages("baz").ShouldContain(message2);
        }
Ejemplo n.º 2
0
        public void AddMessage_RecipientDifferentFromMessage_MessageRecipientIsOverwritten()
        {
            // Arrange
            var target  = new MessagesRepository();
            var message = new Message {
                Recipient = "foo", Sender = "bar", Content = "Hello, World!"
            };

            // Assert
            target.AddMessage("baz", message);
            // Assert
            var actual = target.GetMessages("baz");

            actual.Single().Recipient.ShouldBe("baz");
        }
Ejemplo n.º 3
0
        public void AddMessage_OneMessageOneRecipient_IsListed()
        {
            // Arrange
            var target  = new MessagesRepository();
            var message = new Message {
                Recipient = "foo", Sender = "bar", Content = "Hello, World!"
            };

            // Assert
            target.AddMessage("foo", message);
            // Assert
            var actual = target.GetMessages("foo");

            actual.ShouldContain(message);
            actual.ShouldHaveSingleItem();
        }
Ejemplo n.º 4
0
        private async Task BroadcastMessage(Message message)
        {
            var messageModel = new MessageModel {
                User       = message.User, Text = message.Text,
                ChatRoomId = Guid.Parse(message.ChatRoomId)
            };
            var room = chatRooms.First(c => c.Id.Equals(message.ChatRoomId));

            if (await _messages.AddMessage(messageModel))
            {
                await room.SendMessage(message);
            }
            else
            {
                message.Text = "Failed to add message";
                _logger.LogError(message.Text);
                await room.ErrorMessage(message);
            }
        }