driver->manage()->deleteAllCookies(); } $this->browse(function (Browser $browser) { $browser ->visit(new Login()) ->auth(); }); // Enable ACH. $cg = CompanyGateway::where('gateway_key', 'd14dd26a37cecc30fdd65700bfb55b23')->firstOrFail(); $fees_and_limits = $cg->fees_and_limits; $fees_and_limits->{GatewayType::BANK_TRANSFER} = new FeesAndLimits(); $cg->fees_and_limits = $fees_and_limits; $cg->save(); // ACH required US to be billing country. $client = Client::first(); $client->country_id = 840; $client->save(); } public function testAddingACHAccountAndVerifyingIt() { $this->browse(function (Browser $browser) { $browser ->visitRoute('client.payment_methods.index') ->press('Add Payment Method') ->clickLink('Bank Account') ->type('#account-holder-name', 'John Doe') ->select('#country', 'US') ->select('#currency', 'USD') ->type('#routing-number', '110000000') ->type('#account-number', '000123456789') ->check('#accept-terms') ->press('Add Payment Method') ->waitForText('ACH (Verification)') ->type('@verification-1st', '32') ->type('@verification-2nd', '45') ->press('Complete Verification') ->assertSee('Verification completed successfully') ->assertSee('Bank Transfer'); }); } public function testPayingWithExistingACH() { $this->browse(function (Browser $browser) { $browser ->visitRoute('client.invoices.index') ->click('@pay-now') ->press('Pay Now') ->clickLink('Bank Transfer') ->click('.toggle-payment-with-token') ->press('Pay Now') ->waitForText('Details of the payment', 60); }); } public function testRemoveACHAccount() { $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.'); }); } }