public async Task Handle_Given_Valid_Id_And_Some_Events_Throws_DeleteFailureException()
        {
            // Arrange
            var validId = 1;
            var command = new DeleteEventSeriesesCommand {
                Id = validId
            };

            // Act/Assert
            await Assert.ThrowsAsync <DeleteFailureException>(() => _sut.Handle(command, CancellationToken.None));
        }
        public async Task Handle_Given_InvalidId_Throws_NotFoundException()
        {
            // Arrange
            var invalidId = 0;
            var command   = new DeleteEventSeriesesCommand {
                Id = invalidId
            };

            // Act/Assert
            await Assert.ThrowsAsync <NotFoundException>(() => _sut.Handle(command, CancellationToken.None));
        }
        public async Task Handle_Given_Valid_Id_And_Zero_Events_Deletes_EventSeries()
        {
            // Arrange
            var validId = 2; // series 2 should not have events
            var command = new DeleteEventSeriesesCommand {
                Id = validId
            };

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

            // Assert
            var eventSeries = await _context.EventSeries.FindAsync(validId);

            Assert.Null(eventSeries);
        }