public function PaymentMethodTest::testPaymentMethod in Commerce Core 8.2
@covers ::getType @covers ::getPaymentGatewayId @covers ::getPaymentGatewayMode @covers ::getOwner @covers ::setOwner @covers ::getOwnerId @covers ::setOwnerId @covers ::getRemoteId @covers ::setRemoteId @covers ::getBillingProfile @covers ::setBillingProfile @covers ::isReusable @covers ::setReusable @covers ::isDefault @covers ::setDefault @covers ::isExpired @covers ::getExpiresTime @covers ::setExpiresTime @covers ::getCreatedTime @covers ::setCreatedTime
File
- modules/
payment/ tests/ src/ Kernel/ Entity/ PaymentMethodTest.php, line 79
Class
- PaymentMethodTest
- Tests the payment method entity.
Namespace
Drupal\Tests\commerce_payment\Kernel\EntityCode
public function testPaymentMethod() {
/** @var \Drupal\profile\Entity\ProfileInterface $profile */
$profile = Profile::create([
'type' => 'customer',
'address' => [
'country_code' => 'US',
'postal_code' => '53177',
'locality' => 'Milwaukee',
'address_line1' => 'Pabst Blue Ribbon Dr',
'administrative_area' => 'WI',
'given_name' => 'Frederick',
'family_name' => 'Pabst',
],
]);
$profile
->save();
$profile = $this
->reloadEntity($profile);
/** @var \Drupal\commerce_payment\Entity\PaymentMethodInterface $payment_method */
$payment_method = PaymentMethod::create([
'type' => 'credit_card',
'payment_gateway' => 'example',
]);
$payment_method
->save();
$this
->assertInstanceOf(CreditCard::class, $payment_method
->getType());
$this
->assertEquals('example', $payment_method
->getPaymentGatewayId());
$this
->assertEquals('test', $payment_method
->getPaymentGatewayMode());
$payment_method
->setOwner($this->user);
$this
->assertEquals($this->user, $payment_method
->getOwner());
$this
->assertEquals($this->user
->id(), $payment_method
->getOwnerId());
$payment_method
->setOwnerId(0);
$this
->assertInstanceOf(UserInterface::class, $payment_method
->getOwner());
$this
->assertTrue($payment_method
->getOwner()
->isAnonymous());
// Non-existent/deleted user ID.
$payment_method
->setOwnerId(890);
$this
->assertInstanceOf(UserInterface::class, $payment_method
->getOwner());
$this
->assertTrue($payment_method
->getOwner()
->isAnonymous());
$this
->assertEquals(890, $payment_method
->getOwnerId());
$payment_method
->setOwnerId($this->user
->id());
$this
->assertEquals($this->user, $payment_method
->getOwner());
$this
->assertEquals($this->user
->id(), $payment_method
->getOwnerId());
$payment_method
->setRemoteId('123456');
$this
->assertEquals('123456', $payment_method
->getRemoteId());
$payment_method
->setBillingProfile($profile);
$this
->assertEquals($profile, $payment_method
->getBillingProfile());
$this
->assertNotEmpty($payment_method
->isReusable());
$payment_method
->setReusable(FALSE);
$this
->assertEmpty($payment_method
->isReusable());
$this
->assertFalse($payment_method
->isDefault());
$payment_method
->setDefault(TRUE);
$this
->assertTrue($payment_method
->isDefault());
$this
->assertFalse($payment_method
->isExpired());
$payment_method
->setExpiresTime(635879700);
$this
->assertTrue($payment_method
->isExpired());
$this
->assertEquals(635879700, $payment_method
->getExpiresTime());
$payment_method
->setCreatedTime(635879700);
$this
->assertEquals(635879700, $payment_method
->getCreatedTime());
}