public async Task Handle_ValidCommand_ShouldGetTheDetails()
        {
            var handler = new GetCountryDetailQueryHandler(_mapper, _mockCountryRepository.Object);

            var command = new GetCountryDetailQuery {
                Id = Guid.Parse("{3ae4e108-e2df-4893-958a-2d76ab89b9dc}")
            };

            var attractionResult = await handler.Handle(command, CancellationToken.None);

            attractionResult.Should().BeOfType(typeof(CountryDetailVm));
            attractionResult.Name.Should().Be("Italy");

            _mockCountryRepository.Verify(repo => repo.GetByIdWithRelatedDataAsync(It.IsAny <Guid>()), Times.Once());
        }
        public async Task <ActionResult> GetCountryDetail([FromBody] GetCountryDetailQuery request, CancellationToken cancellationToken)
        {
            var response = await Mediator.Send(request, cancellationToken);

            return(Ok(response));
        }