public void SendMessage_MessageContainsNewLine_AddedSplittedMessagesToRepo()
        {
            var         sendingMessageData = new InputMessageData("Text1\nText2\nText3", "01.01.2020 11:22:33|USER2");
            MessageData res = null;

            Assert.DoesNotThrowAsync(async() => res = await _messageService.SendMessage(sendingMessageData));

            Assert.NotNull(res);
            Assert.NotNull(res.Id);
            Assert.AreEqual(Environment.UserName.ToUpper(), res.SenderId);
            Assert.AreEqual("Text1\nText2\nText3", res.Text);
            Assert.AreEqual("01.01.2020 11:22:33|USER2", res.ReplyToMessageId);

            _repositoryMock.Verify(m
                                   => m.AddAsync(It.IsAny <MessageDataEntity>()),
                                   Times.Never);
            _repositoryMock.Verify(m
                                   => m.AddSomeAsync(It.IsAny <IEnumerable <MessageDataEntity> >()),
                                   Times.Once);
            _repositoryMock.Verify(m
                                   => m.AddSomeAsync(It.Is <IEnumerable <MessageDataEntity> >(d
                                                                                              => d.Count() == 3 &&
                                                                                              d.First().Text == "Text1" &&
                                                                                              d.Last().Text == "Text3")),
                                   Times.Once);
        }
Exemple #2
0
 void GenericInputSubmitted(InputMessageData inputData)
 {
     if (inputData.go.name == "MapHeight-Input")
     {
         int.TryParse(inputData.theInput, out selectedMapHeight);
     }
     else if (inputData.go.name == "MapWidth-Input")
     {
         int.TryParse(inputData.theInput, out selectedMapWidth);
     }
     else if (inputData.go.name == "FileNameInput")
     {
         if (!string.IsNullOrEmpty(selectedFileName))
         {
             if (selectedFileName.Contains(Application.persistentDataPath))
             {
                 selectedFileName = inputData.theInput;
             }
         }
         else
         {
             selectedFileName = LevelCreatorController.mapFilesFilePath + inputData.theInput + ".mpcr";
         }
     }
 }
Exemple #3
0
    void OnSubmit()
    {
        if (inputObj == null)
        {
            inputObj = GetComponent <UIInput>();
        }

        var notiData = new InputMessageData(gameObject, inputObj.value);

        Messenger <InputMessageData> .Invoke(notiType.ToString(), notiData);
    }
        public async Task <MessageData> SendMessage(InputMessageData inputMessageData)
        {
            MessageDataEntity messageEntity = null;

            if (inputMessageData.Text.Contains("\n"))
            {
                var messageLines = inputMessageData.Text.Split('\n');
                var messages     = messageLines
                                   .Select(t =>
                                           new MessageDataEntity(
                                               inputMessageData.SenderId,
                                               t,
                                               inputMessageData.DateTime,
                                               inputMessageData.ReplyToMessageId))
                                   .ToList();
                messageEntity =
                    (await _messageRepository.AddSomeAsync(messages))
                    .First(m => m != null);
            }
            else
            {
                messageEntity =
                    (await _messageRepository.AddAsync(
                         new MessageDataEntity(
                             inputMessageData.SenderId,
                             inputMessageData.Text,
                             inputMessageData.DateTime,
                             inputMessageData.ReplyToMessageId)));
            }
            return(new MessageData(messageEntity.Id,
                                   messageEntity.DateTime,
                                   messageEntity.UserName,
                                   inputMessageData.Text,
                                   messageEntity.UserName == CurrentUserContext.CurrentUserName,
                                   inputMessageData.ReplyToMessageId));
        }