public void Constructor_ThreadColor_gets_set_from_color() {
			Color color = Color.FromArgb(1, 2, 3, 4);

			var viewModel = new MessageViewModel(new Message(), "some flow id", color, new NavigationManagerMoqaLate());

			Assert.AreEqual(color, viewModel.ThreadColor);

		}
		public void Constructor_passes_message_properties_through() {
			var content = "a message";
			var message = new Message {
				Event = "message",
				Sent = 55555,
				Id = 123,
				User = 44
			};
			message.Content = content;

            var viewModel = new MessageViewModel(message, "some flow id", null, new NavigationManagerMoqaLate());

			Assert.AreEqual(message.ExtractedBody, viewModel.Body);
			Assert.AreEqual(content, viewModel.Body);
			Assert.AreEqual(message.Id, viewModel.Id);
			Assert.AreEqual(message.TimeStamp, viewModel.TimeStamp);
			Assert.AreEqual(message.User, viewModel.UserId);
		}
		public void Constructor_ThreadColor_gets_set_from_null() {
            var viewModel = new MessageViewModel(new Message(), "some flow id", null, new NavigationManagerMoqaLate());
			Assert.IsNull(viewModel.ThreadColor);
		}
 public void BeforeEach() {
     _message = new Message();
     _viewModel = new MessageViewModel(_message, "some flow id", null, new NavigationManagerMoqaLate());
 }
Example #5
0
		private void FindAvatar(MessageViewModel msg) {
			var user = _users.FirstOrDefault(u => u.Id == msg.UserId);
			if (user != null) {
				msg.Avatar = user.Avatar;
			}
		}
Example #6
0
		private void OnMessageReceived(Message msg) {
			UIThread.Invoke(() => {
				if (msg.Displayable) {
					var viewModel = new MessageViewModel(msg, FlowId, GetThreadColor(msg), _navigationManager);
					FindAvatar(viewModel);
					Messages.Add(viewModel);
					

					// TODO: this is very inefficient
					AssignThreadStartersTheirColor();
				} else if (msg.Event == "message-edit") {
					EditMessage(msg);
				}
			});
		}