コード例 #1
0
		public void AddMessageToConversation_ReturnCorrectMappedReadModel_WhereUserWhoAreGoingToReceiveThisMessage_WasNotSender()
		{
			//Arrange
			var saveModel = new ChatMessageSaveModel
			{
				AddresseeId = "addresseeTestId",
				AddresseeCanReceiveMessage = true,
				SenderId = "senderTestId",
				Content = "test content",
			};

			var date = new DateTime(2016, 07, 06);
			var savedMessageDbModel = new ChatMessage
			{
				Author = new ApplicationUser { Id = saveModel.SenderId, UserName = saveModel.SenderId },
				Date = date,
				Content = saveModel.Content
			};

			this.conversationDbService.Setup(s => s.SaveMessage(It.IsAny<ChatMessage>())).Returns(savedMessageDbModel);

			//Act
			var messageReadModel = this.serviceUnderTest.AddMessageToConversation(saveModel);

			//Assert
			Assert.NotNull(messageReadModel);
			Assert.False(messageReadModel.UserWasSender);
			Assert.NotEmpty(messageReadModel.MessageContent);
			Assert.NotEmpty(messageReadModel.MessageHeader);
		}
コード例 #2
0
		/// <summary>
		/// Saves message in db and returns message read model
		/// </summary>
		/// <param name="chatMessageSaveModel">Model with message parameters</param>
		/// <returns>Message read model</returns>
		public ChatMessageReadModel AddMessageToConversation(ChatMessageSaveModel chatMessageSaveModel)
		{
			var messageDbModel = new ChatMessage();
			messageDbModel.AuthorId = chatMessageSaveModel.SenderId;
			messageDbModel.Content = chatMessageSaveModel.Content;
			messageDbModel.ConversationId = chatMessageSaveModel.ConversationId;
			messageDbModel.Date = DateTime.Now;
			messageDbModel.Received = chatMessageSaveModel.AddresseeCanReceiveMessage;

			messageDbModel = this.conversationDbService.SaveMessage(messageDbModel);

			return MapChatMessageToReadModel(chatMessageSaveModel.AddresseeId, messageDbModel);
		}