Fix creating plan and member in WooCommerceMembership data factory
Membership commands return a string message, so we need to parse ID from a sentence. [MAILPOET-4095]
This commit is contained in:
@ -16,16 +16,18 @@ class WooCommerceMembership {
|
||||
$createCommand = ['wc', 'memberships', 'plan', 'create'];
|
||||
$createCommand[] = "--name='{$name}'";
|
||||
$createOutput = $this->tester->cliToString($createCommand);
|
||||
$planOut = $this->tester->cliToString(['wc', 'membership_plan', 'get', $createOutput, '--format=json']);
|
||||
preg_match('!\d+!', $createOutput, $matches);
|
||||
$planOut = $this->tester->cliToString(['wc', 'membership_plan', 'get', reset($matches), '--format=json', '--user=admin']);
|
||||
return json_decode($planOut, true);
|
||||
}
|
||||
|
||||
public function createMember(int $userId, int $planId) {
|
||||
$createCommand = ['wc', 'user_membership', 'create'];
|
||||
$createCommand = ['wc', 'user_membership', 'create', '--user=admin'];
|
||||
$createCommand[] = "--customer_id='{$userId}'";
|
||||
$createCommand[] = "--plan_id='{$userId}'";
|
||||
$createCommand[] = "--plan_id='{$planId}'";
|
||||
$createOutput = $this->tester->cliToString($createCommand);
|
||||
$membershipOut = $this->tester->cliToString(['wc', 'user_membership', 'get', $createOutput, '--format=json']);
|
||||
preg_match('!\d+!', $createOutput, $matches);
|
||||
$membershipOut = $this->tester->cliToString(['wc', 'user_membership', 'get', reset($matches), '--format=json', '--user=admin']);
|
||||
return json_decode($membershipOut, true);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user