public void SetValidBoardMessageReturnsValidBoardMessageResponse()
        {
            var validMessage = MockData.BoardMessageMocks.NewValidBoardMessage;
            var expected     = new BoardMessageResponse()
            {
                BoardMessage     = validMessage,
                OperationSuccess = true,
                StorageOperation = new Entities.StorageOperation()
                {
                    Id   = Enums.StorageOperationEnum.Create,
                    Name = Constants.Constants.StorageOperations.Create
                }
            };
            var response = boardMessageService.SetBoardMessage(validMessage);

            // setting not tested properties
            expected.Status = response.Status;
            expected.BoardMessage.Created = response.BoardMessage.Created;

            // convert to json strings for comparison
            var jsonExpected = JsonConvert.SerializeObject(expected);
            var jsonResponse = JsonConvert.SerializeObject(response);

            Assert.AreEqual(jsonExpected, jsonResponse);
        }
        public void UpdateValidBoardMessageReturnsValidBoardMessageResponse()
        {
            var existingBoardMessageWithUpdatedMessage = new BoardMessage()
            {
                Id       = MockData.BoardMessageMocks.ExistingValidBoardMessage.Id,
                Message  = "This message is modified and should be updated.",
                ClientId = MockData.BoardMessageMocks.ExistingValidBoardMessage.ClientId,
                Created  = MockData.BoardMessageMocks.ExistingValidBoardMessage.Created
            };
            var expected = new BoardMessageResponse()
            {
                BoardMessage     = existingBoardMessageWithUpdatedMessage,
                OperationSuccess = true,
                StorageOperation = new Entities.StorageOperation()
                {
                    Id   = Enums.StorageOperationEnum.Update,
                    Name = Constants.Constants.StorageOperations.Update
                }
            };
            var response = boardMessageService.UpdateBoardMessage(existingBoardMessageWithUpdatedMessage);

            // setting not tested properties
            expected.Status = response.Status;
            expected.BoardMessage.Modified = response.BoardMessage.Modified;

            // convert to json strings for comparison
            var jsonExpected = JsonConvert.SerializeObject(expected);
            var jsonResponse = JsonConvert.SerializeObject(response);

            Assert.AreEqual(jsonExpected, jsonResponse);
        }
Пример #3
0
        private BoardMessageResponse ValidateBoardMessage(BoardMessage boardMessage)
        {
            var response = new BoardMessageResponse();

            if (boardMessage == null)
            {
                response.OperationSuccess = false;
                response.Status           = "Boardmessage is null.";
                return(response);
            }

            if (string.IsNullOrWhiteSpace(boardMessage.Message))
            {
                response.OperationSuccess = false;
                response.Status           = "Boardmessage.Message cannot be empty";
                return(response);
            }

            if (!this.clientService.ClientExists(boardMessage.ClientId))
            {
                response.OperationSuccess = false;
                response.Status           = "BoardMessage.ClientId is not a valid clientId, the client does not exist.";
                return(response);
            }

            response.OperationSuccess = true;
            response.Status           = "BoardMessage is valid.";
            return(response);
        }
Пример #4
0
        public BoardMessageResponse DeleteBoardMessage(int?boardMessageId, int?clientId)
        {
            if (!boardMessageId.IsValidId())
            {
                throw new ArgumentException($"{boardMessageId} is not a valid {nameof(boardMessageId)}.");
            }

            if (!clientId.IsValidId())
            {
                throw new ArgumentException($"{clientId} is not a valid {nameof(clientId)}.");
            }

            var response = new BoardMessageResponse()
            {
                BoardMessage     = null,
                StorageOperation = new StorageOperation()
                {
                    Id   = Enums.StorageOperationEnum.Delete,
                    Name = Constants.Constants.StorageOperations.Delete
                }
            };

            var messageList     = this.GetBoardMessages();
            var messageToDelete = messageList.FirstOrDefault(message => message.Id == boardMessageId);

            if (messageToDelete == null)
            {
                throw new HttpResponseException(response, $"Cannot delete board message with id: {boardMessageId} => message does not exist.");
            }

            if (messageToDelete.ClientId != clientId)
            {
                throw new HttpResponseException(response, $"Cannot delete board message with id: {boardMessageId} => message is not created by client with id: {clientId}.");
            }

            messageList = messageList.Where(message => message.Id != boardMessageId).ToList();
            this.cacheService.Store <List <BoardMessage> >(Constants.Constants.CacheKeys.AllBoardMessages, messageList);
            response.Status = $"Successfully deleted board message with id: {boardMessageId}";
            return(response);
        }
        public void DeleteBoardMessageReturnsValidBoardMessageResponse()
        {
            var expected = new BoardMessageResponse()
            {
                BoardMessage     = null,
                StorageOperation = new StorageOperation()
                {
                    Id   = Enums.StorageOperationEnum.Delete,
                    Name = Constants.Constants.StorageOperations.Delete
                }
            };

            var response = boardMessageService.DeleteBoardMessage(MockData.BoardMessageMocks.ExistingValidBoardMessage.Id, MockData.BoardMessageMocks.ExistingValidBoardMessage.ClientId);

            // setting not tested properties
            expected.Status = response.Status;

            // convert to json strings for comparison
            var jsonExpected = JsonConvert.SerializeObject(expected);
            var jsonResponse = JsonConvert.SerializeObject(response);

            Assert.AreEqual(jsonExpected, jsonResponse);
        }