setId((string) $id)->getId()); $user = new User(); self::assertSame($user, $payment->setUser($user)->getUser()); } public function testPaymentIsPaid(): void { $payment = new Payment(); self::assertFalse($payment->isPaid()); self::assertNull($payment->getStatus()); // offline $payment->setDetails([ 'paid' => true, 'status' => 'captured', ]); self::assertTrue($payment->isPaid()); self::assertSame('captured', $payment->getStatus()); // test and prod mode $payment->setDetails([ 'paymment' => [], ]); self::assertFalse($payment->isPaid()); self::assertNull($payment->getStatus()); $payment->setDetails([ 'payment' => [ 'status' => 'paid', ], ]); self::assertTrue($payment->isPaid()); self::assertSame('paid', $payment->getStatus()); } }