mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Gateways: Stripe: ACH: Adding ACH account and verifying it
This commit is contained in:
parent
4705d40fdb
commit
1ec2630c6c
@ -11,11 +11,11 @@
|
||||
<input type="hidden" name="source" value="{{ $token->token }}">
|
||||
|
||||
@component('portal.ninja2020.components.general.card-element', ['title' => '#1 ' . ctrans('texts.amount_cents')])
|
||||
<input type="text" name="transactions[]" class="w-full input" required data-cy="verification-1st">
|
||||
<input type="text" name="transactions[]" class="w-full input" required dusk="verification-1st">
|
||||
@endcomponent
|
||||
|
||||
@component('portal.ninja2020.components.general.card-element', ['title' => '#2 ' . ctrans('texts.amount_cents')])
|
||||
<input type="text" name="transactions[]" class="w-full input" required data-cy="verification-2nd">
|
||||
<input type="text" name="transactions[]" class="w-full input" required dusk="verification-2nd">
|
||||
@endcomponent
|
||||
|
||||
@component('portal.ninja2020.gateways.includes.pay_now', ['type' => 'submit'])
|
||||
|
74
tests/Browser/ClientPortal/Gateways/Stripe/ACHTest.php
Normal file
74
tests/Browser/ClientPortal/Gateways/Stripe/ACHTest.php
Normal file
@ -0,0 +1,74 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace Tests\Browser\ClientPortal\Gateways\Stripe;
|
||||
|
||||
use App\DataMapper\FeesAndLimits;
|
||||
use App\Models\Client;
|
||||
use App\Models\CompanyGateway;
|
||||
use App\Models\GatewayType;
|
||||
use Laravel\Dusk\Browser;
|
||||
use Tests\Browser\Pages\ClientPortal\Login;
|
||||
use Tests\DuskTestCase;
|
||||
|
||||
class ACHTest extends DuskTestCase
|
||||
{
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
foreach (static::$browsers as $browser) {
|
||||
$browser->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');
|
||||
});
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user