public void Handle_WhenHandlingTransferSenderApproveCohortCommandFails_ThenItShouldAnExceptionAndLogIt()
        {
            var fixture = new ApproveTransferRequestCommandHandlerTestsFixture();

            fixture.SetupTransfer().SetupTransferSenderApproveCohortCommand(-1991);

            fixture.Handle();

            fixture.VerifyHasError();
        }
        public void Handle_WhenHandlingTransferSenderApproveCohortCommand_ThenItShouldPublishChangeTrackingEvents()
        {
            var fixture = new ApproveTransferRequestCommandHandlerTestsFixture();

            fixture.SetupTransfer().SetupTransferSenderApproveCohortCommand();

            fixture.Handle();

            fixture.VerifyEntityIsBeingTracked();
        }
        public void Handle_WhenHandlingTransferSenderApproveCohortCommand_ThenItShouldPublishTransferRequestApprovedEvent()
        {
            var fixture = new ApproveTransferRequestCommandHandlerTestsFixture();

            fixture.SetupTransfer().SetupTransferSenderApproveCohortCommand();

            fixture.Handle();

            fixture.VerifyTransferRequestApprovedEventIsPublished();
        }
        public void Handle_WhenHandlingTransferSenderApproveCohortCommand_ThenItShouldUpdateCohortAndTransferRequestWithApprovalAction()
        {
            var fixture = new ApproveTransferRequestCommandHandlerTestsFixture();

            fixture.SetupTransfer().SetupTransferSenderApproveCohortCommand();

            fixture.Handle();

            fixture.VerifyTransferRequestApprovalPropertiesAreSet();
        }
        public void Handle_WhenHandlingTransferSenderApproveCohortCommand_ForASecondTime_ThenItShouldLogWarningAndReturn()
        {
            var fixture = new ApproveTransferRequestCommandHandlerTestsFixture();

            fixture.SetupTransfer().SetupTransferSenderApproveCohortCommand().SetTransferStatusToApproved();

            fixture.Handle();

            fixture.VerifyTransferRequestApprovedEventIsNotPublished();
            fixture.VerifyHasWarning();
        }