public async Task Fail_When_Changing_Name_On_Non_Existing_Champagne([Frozen] Mock <IPublishingAggregateRepository> repo, RenameChampagneCommand cmd, Champagne pagne, ChampagneHandler sut)
        {
            //Arrange
            repo.Setup(x => x.LoadAsync <Champagne>(It.IsAny <AggregateId>(), null))
            .ReturnsAsync((Champagne)null);

            //Act
            Should.Throw <DomainError>(async() =>
            {
                await sut.Handle(cmd);
            });

            //Assert
            repo.Verify(x =>
                        x.StoreAsync(pagne, It.IsAny <IDocumentSession>()),
                        Times.Never);
        }
        public async Task Store_Events_When_Changing_Name_On_Existing_Champagne([Frozen] Mock <IPublishingAggregateRepository> repo, RenameChampagneCommand cmd, Champagne pagne, ChampagneHandler sut)
        {
            //Arrange
            repo.Setup(x => x.LoadAsync <Champagne>(It.IsAny <AggregateId>(), null))
            .ReturnsAsync(pagne);

            //Act
            var response = await sut.Handle(cmd);

            //Assert
            response.ShouldNotBeNull();
            response.IsSuccessful.ShouldBeTrue();

            repo.Verify(x =>
                        x.StoreAsync(pagne, It.IsAny <IDocumentSession>()),
                        Times.Once);
        }