public async Task Given_An_Valid_DownloadImageCommand_Should_Execute_Publish_Method_Once()
        {
            // Arrange
            var downloadImageCommand = new DownloadImageCommand
            {
                ImageFolderPath = @"c:\windows",
                ImageFileName   = "Call Of The Haunted",
                RemoteImageUrl  = new Uri("http://filesomewhere/callofthehaunted.png")
            };

            _validator.Validate(Arg.Any <DownloadImageCommand>()).Returns(new DownloadImageCommandValidator().Validate(downloadImageCommand));
            _cardImageQueueService.Publish(Arg.Any <DownloadImage>()).Returns(new CardImageCompletion());

            // Act
            await _sut.Handle(downloadImageCommand, CancellationToken.None);

            // Assert
            await _cardImageQueueService.Received(1).Publish(Arg.Any <DownloadImage>());
        }