public async Task ContactHandler_Put_PutAsync()
        {
            //Arrange
            var dateTimeNow = DateTime.Now;
            var command     = new PutContactCommand
            {
                Id           = 0,
                FirstName    = "zzz",
                Surname      = "zzz",
                EmailAddress = "*****@*****.**",
                ContactType  = 1
            };
            Contact contact = new Contact();
            var     mockContactRepository = new Mock <ContactRepository>(null);

            //Act
            mockContactRepository.Setup(x => x.GetByIdAsync(command.Id, It.IsAny <CancellationToken>())).ReturnsAsync(contact);
            var sut = new PutContactHandler(mockContactRepository.Object);
            await sut.Handle(command, CancellationToken.None);

            mockContactRepository.Verify(x => x.PutAsync(It.Is <Contact>(a => a.FirstName == command.FirstName &&
                                                                         a.Surname == command.Surname &&
                                                                         a.EmailAddress == command.EmailAddress), It.IsAny <CancellationToken>()), Times.Once);
            mockContactRepository.Verify(x => x.GetByIdAsync(command.Id, It.IsAny <CancellationToken>()), Times.Once);
            mockContactRepository.VerifyNoOtherCalls();
        }
        public async Task <IActionResult> DeleteContactById(PutContactCommand command)
        {
            var contact = await mediator.Send(command);

            return(Ok(contact));
        }