public async Task GetSalesPerson_ShouldReturnSalesPerson_GivenSalesPerson(
            [Frozen] Mock <IMediator> mockMediator,
            Core.Handlers.GetSalesPerson.SalesPersonDto salesPerson,
            [Greedy] SalesPersonController sut,
            GetSalesPersonQuery query
            )
        {
            //Arrange
            mockMediator.Setup(x => x.Send(
                                   It.IsAny <GetSalesPersonQuery>(),
                                   It.IsAny <CancellationToken>()
                                   ))
            .ReturnsAsync(salesPerson);

            //Act
            var actionResult = await sut.GetSalesPerson(query);

            //Assert
            var okObjectResult = actionResult as OkObjectResult;

            okObjectResult.Should().NotBeNull();

            var result = okObjectResult.Value as Core.Models.SalesPerson;

            result.FullName().Should().Be(salesPerson.FullName());
        }
        public async Task GetSalesPerson_ShouldReturnNotFound_GivenNoSalesPerson(
            [Frozen] Mock <IMediator> mockMediator,
            [Greedy] SalesPersonController sut,
            GetSalesPersonQuery query
            )
        {
            //Arrange
            mockMediator.Setup(x => x.Send(
                                   It.IsAny <GetSalesPersonQuery>(),
                                   It.IsAny <CancellationToken>()
                                   ))
            .ReturnsAsync((Core.Handlers.GetSalesPerson.SalesPersonDto)null);

            //Act
            var actionResult = await sut.GetSalesPerson(query);

            //Assert
            var notFoundResult = actionResult as NotFoundResult;

            notFoundResult.Should().NotBeNull();
        }