public async Task CalculateTotal_ShouldInvokeCalculateQuery()
        {
            //Arrange

            var query = new GetTrolleyTotalQuery(new TrolleyDto());

            _mediator
            .Setup(m => m.Send(It.IsAny <GetTrolleyTotalQuery>(), default(CancellationToken))).ReturnsAsync(100);

            var mediatorObject = _mediator.Object;
            var controller     = new CartController(mediatorObject);
            var trolley        = GetSampleTrolly();

            //Act
            var total = await controller.CalculateTotal(trolley);

            //Assert
            total.Should().Be(100);
            _mediator.Verify(
                i => i.Send(It.Is <GetTrolleyTotalQuery>(args =>
                                                         args.Trolley.Products.Count() == trolley.Products.Count() &&
                                                         args.Trolley.Quantities.Count() == trolley.Quantities.Count() &&
                                                         args.Trolley.Specials.Count() == trolley.Specials.Count())
                            , It.IsAny <CancellationToken>()), Times.Once, "Should Send Get Trolley Total Query to Mediator");
        }