public async Task Handle_WhenCommandIsHandled_ThenShouldSetCohortTransferStatus()
        {
            var fixture = new AddTransferRequestCommandHandlerTestFixture().SetupCohort();
            await fixture.Handle();

            fixture.AssertCohortTransferStatusIsSetToPending();
        }
        public async Task Handle_WhenCommandIsHandled_ThenShouldPublishTransferRequestCreatedEvent()
        {
            var fixture = new AddTransferRequestCommandHandlerTestFixture().SetupCohort();
            await fixture.Handle();

            fixture.AssertTransferRequestCreatedEventWasPublished();
        }
        public async Task Handle_WhenCommandIsHandled_ThenShouldCreateTransferRequest()
        {
            var fixture = new AddTransferRequestCommandHandlerTestFixture().SetupCohort();
            await fixture.Handle();

            fixture.AssertTransferRequestWasCorrectlySavedToDatabase();
        }
        public void Handle_WhenCommandIsHandledAndPendingTransferRequestExists_ThenShouldThrowDomainException()
        {
            var fixture = new AddTransferRequestCommandHandlerTestFixture().SetupCohort().SetupPendingTransferRequest();

            Assert.ThrowsAsync <DomainException>(() => fixture.Handle());
        }