public override Task Assertions(object[] path, InviteTenantAdminCmd cmd, InviteTenantAdminResult.IInviteTenantAdminResult result, BackofficeWriteContext state)
        {
            var withInput = from inputCase in path.OfType <InviteTenantAdminCmdInput>().HeadOrNone()
                            from stateCase in path.OfType <BackofficeWriteContextInput>().HeadOrNone()
                            select AssertionsOnInput(inputCase, stateCase, state, cmd, result);

            return(Task.CompletedTask);
        }
 public override Task PostConditions(InviteTenantAdminCmd cmd, InviteTenantAdminResult.IInviteTenantAdminResult result, BackofficeWriteContext state)
 {
     result.Match(
         invited =>
     {
         Assert.True(true);
         Assert.True(cmd.ValidateObject());
         return(invited);
     },
         notInvited =>
     {
         Assert.True(false);
         return(notInvited);
     },
         invalidRequest =>
     {
         Assert.True(false);
         Assert.False(cmd.ValidateObject());
         return(invalidRequest);
     }
         );
     return(Task.CompletedTask);
 }
 private Task OnInvalidInput(InviteTenantAdminCmd cmd, InviteTenantAdminResult.IInviteTenantAdminResult result, BackofficeWriteContext state)
 {
     result.Match(
         invited =>
     {
         Assert.True(cmd.ValidateObject(), "The command is expected to be invalid");
         Assert.True(false, "Somethin went wrong when creating the tenant");
         return(invited);
     },
         notInvited =>
     {
         Assert.True(false, "Received 'NotInvited', expected InvalidRequest");
         return(notInvited);
     },
         invalidRequest =>
     {
         Assert.True(true);
         Assert.False(cmd.ValidateObject(), "The command should be invalid");
         return(invalidRequest);
     }
         );
     return(Task.CompletedTask);
 }
Example #4
0
 public static Port <IInviteTenantAdminResult> InviteTenantAdmin(InviteTenantAdminCmd command) => NewPort <InviteTenantAdminCmd, IInviteTenantAdminResult>(command);
        private Task AssertionsOnInput(InviteTenantAdminCmdInput inputCase, BackofficeWriteContextInput stateCase, BackofficeWriteContext state, InviteTenantAdminCmd cmd, InviteTenantAdminResult.IInviteTenantAdminResult result)
        {
            var _ = (inputCase, stateCase) switch
            {
                (InviteTenantAdminCmdInput.Valid, _) => PostConditions(cmd, result, state),
                _ => OnInvalidInput(cmd, result, state)
            };

            return(Task.CompletedTask);
        }