BasicWebTest.php in Payment 8.2
File
tests/src/Functional/Plugin/Payment/LineItem/BasicWebTest.php
View source
<?php
namespace Drupal\Tests\payment\Functional\Plugin\Payment\LineItem;
use Drupal\payment\Payment;
use Drupal\Tests\BrowserTestBase;
class BasicWebTest extends BrowserTestBase {
protected $lineItem;
public static $modules = array(
'payment',
'payment_test',
);
protected $defaultTheme = 'stark';
protected function setUp() : void {
parent::setUp();
$this->lineItem = Payment::lineItemManager()
->createInstance('payment_basic');
}
public function testConfigurationForm() {
$line_item_data = array(
'line_item[amount][amount]' => '123.45',
'line_item[quantity]' => '3',
'line_item[description]' => 'Foo & Bar',
);
$this
->drupalGet('payment_test-plugin-payment-line_item-payment_basic');
foreach (array_keys($line_item_data) as $name) {
$this
->assertFieldByName($name);
}
$data = $line_item_data;
$data['line_item[description]'] = 'FooBar';
$this
->drupalPostForm('payment_test-plugin-payment-line_item-payment_basic', $data, t('Submit'));
$this
->assertUrl('user/login', [], 'Valid values trigger form submission.');
$values = array(
'line_item[quantity]' => $this
->randomMachineName(2),
);
$this
->drupalPostForm('payment_test-plugin-payment-line_item-payment_basic', $values, t('Submit'));
$this
->assertFieldByXPath('//input[@name="line_item[quantity]" and contains(@class, "error")]');
}
}