markTestSkipped('Skipping Authorize.net (GitHub Actions)'); } foreach (static::$browsers as $browser) { $browser->driver->manage()->deleteAllCookies(); } $this->browse(function (Browser $browser) { $browser ->visit(new Login()) ->auth(); }); $this->disableCompanyGateways(); CompanyGateway::where('gateway_key', '3b6621f970ab18887c4f6dca78d3f8bb')->restore(); } public function testPayWithNewCard() { $this->browse(function (Browser $browser) { $browser ->visitRoute('client.invoices.index') ->click('@pay-now') ->press('Pay Now') ->clickLink('Credit Card') ->type('card-number', '4007000000027') ->type('card-holders-name', 'John Doe') ->type('.expiry', '12/28') ->type('cvc', '100') ->press('Pay Now') ->waitForText('Details of the payment', 60); }); } public function testPayWithNewCardAndSaveForFutureUse() { $this->browse(function (Browser $browser) { $browser ->visitRoute('client.invoices.index') ->click('@pay-now') ->press('Pay Now') ->clickLink('Credit Card') ->radio('#proxy_is_default', true) ->type('card-number', '4007000000027') ->type('card-holders-name', 'John Doe') ->type('.expiry', '12/28') ->type('cvc', '100') ->press('Pay Now') ->waitForText('Details of the payment', 60) ->visitRoute('client.payment_methods.index') ->clickLink('View') ->assertSee('0027'); }); } public function testPayWithSavedCard() { $this->browse(function (Browser $browser) { $browser ->visitRoute('client.invoices.index') ->click('@pay-now') ->press('Pay Now') ->clickLink('Credit Card') ->click('.toggle-payment-with-token') ->press('Pay Now') ->waitForText('Details of the payment', 60); }); } public function testRemoveCard() { $this->browse(function (Browser $browser) { $browser ->visitRoute('client.payment_methods.index') ->clickLink('View') ->press('Remove Payment Method') ->waitForText('Confirmation') ->click('@confirm-payment-removal') ->assertSee('Payment method has been successfully removed.'); }); } public function testAddingCreditCardStandalone() { $this->markTestIncomplete("E00117 OTS Service Error 'Field validation error.'"); $this->browse(function (Browser $browser) { $browser ->visitRoute('client.payment_methods.index') ->press('Add Payment Method') ->clickLink('Credit Card') ->type('card-number', '4012888818888') ->type('card-holders-name', 'John Doe') ->type('.expiry', '12/28') ->type('cvc', '900') ->press('Add Payment Method') ->waitForText('0027', 60); }); } }