Subiendo proyecto completo sin restricciones de git ignore

This commit is contained in:
Jose Sanchez
2023-08-17 11:44:02 -04:00
parent a0d4f5ba3b
commit 20f1c60600
19921 changed files with 2509159 additions and 45 deletions

View File

@@ -0,0 +1,20 @@
<?php
namespace SebaCarrasco93\LaravelPayku\Tests\Unit;
use Illuminate\Foundation\Testing\RefreshDatabase;
use SebaCarrasco93\LaravelPayku\Models\PaykuPayment;
use SebaCarrasco93\LaravelPayku\Models\PaykuTransaction;
use SebaCarrasco93\LaravelPayku\Tests\TestCase;
class LaravelPaykuDatabaseTest extends TestCase
{
use RefreshDatabase;
public function setUp() : void
{
parent::setUp();
$this->transaction = new PaykuTransaction();
}
}

View File

@@ -0,0 +1,101 @@
<?php
namespace SebaCarrasco93\LaravelPayku\Tests\Unit;
use Illuminate\Foundation\Testing\RefreshDatabase;
use SebaCarrasco93\LaravelPayku\Facades\LaravelPayku;
use SebaCarrasco93\LaravelPayku\Models\PaykuPayment;
use SebaCarrasco93\LaravelPayku\Models\PaykuTransaction;
use SebaCarrasco93\LaravelPayku\Tests\TestCase;
class LaravelPaykuFacadeTest extends TestCase
{
use RefreshDatabase;
public function setUp() : void
{
parent::setUp();
$this->fillApiKeys();
}
/** @test */
function it_knows_which_base_url_in_production_environment() {
config(['app.env' => 'production']);
$this->assertEquals('https://app.payku.cl/api', LaravelPayku::apiRoute());
}
/** @test */
function it_knows_which_base_url_in_local_and_testing_environment() {
config(['app.env' => 'local']);
$this->assertEquals('https://des.payku.cl/api', LaravelPayku::apiRoute());
config(['app.env' => 'testing']);
$this->assertEquals('https://des.payku.cl/api', LaravelPayku::apiRoute());
}
/** @test */
function it_can_override_the_base_url() {
config(['app.env' => 'production']);
config(['laravel-payku.base_url' => 'https://des.payku.cl/api']);
$this->assertEquals('https://des.payku.cl/api', LaravelPayku::apiRoute());
}
/** @test */
function it_knows_only_its_filled_keys() {
$this->assertEquals([
'private_token' => 'someprivatetoken',
'public_token' => 'somepublictoken',
], LaravelPayku::findApiKeys());
}
/** @test */
function it_knows_when_does_has_the_required_keys() {
$this->assertTrue(LaravelPayku::hasValidConfig());
}
/** @test */
function it_knows_when_does_not_have_the_required_keys() {
$this->expectException(\Exception::class);
$this->unfillApiKeys();
LaravelPayku::hasValidConfig();
}
/** @test */
function it_can_prepare_an_order() {
$this->assertEquals([
'email' => 'seba@sextanet.cl',
'order' => 'AAA',
'subject' => 'Test',
'amount' => '1000',
'payment' => '1',
'urlreturn' => route('payku.return', 'AAA'),
'urlnotify' => route('payku.notify', 'AAA'),
], LaravelPayku::prepareOrder('AAA', 'Test', 1000, 'seba@sextanet.cl'));
}
/** @test */
function it_knows_its_details() {
$payment = PaykuTransaction::create(['id' => 'trx...']);
$this->assertInstanceOf(PaykuTransaction::class, LaravelPayku::findById('trx...'));
}
/** @test */
function it_knows_when_it_has_status_success() {
$payment = PaykuTransaction::create(['id' => 'trx...', 'status' => 'success']);
$this->assertTrue(LaravelPayku::hasStatusSuccess('trx...'));
$this->assertFalse(LaravelPayku::hasStatusPending('trx...'));
}
/** @test */
function it_knows_when_it_has_status_pending() {
$payment = PaykuTransaction::create(['id' => 'trx...', 'status' => 'pending']);
$this->assertTrue(LaravelPayku::hasStatusPending('trx...'));
$this->assertFalse(LaravelPayku::hasStatusSuccess('trx...'));
}
}

View File

@@ -0,0 +1,68 @@
<?php
namespace SebaCarrasco93\LaravelPayku\Tests\Unit;
use SebaCarrasco93\LaravelPayku\Tests\TestCase;
use SebaCarrasco93\LaravelPayku\Models\PaykuTransaction;
use Illuminate\Foundation\Testing\RefreshDatabase;
class PaykuTransactionTest extends TestCase
{
use RefreshDatabase;
/** @test */
function it_can_see_their_id() {
$transaction = PaykuTransaction::create(['id' => 'trx...']);
$this->assertEquals('trx...', $transaction->id);
}
/** @test */
function it_can_get_only_transactions_with_status_register() {
$transaction = PaykuTransaction::create(['id' => 'trx...', 'status' => 'register']);
$this->assertCount(1, PaykuTransaction::register()->get());
}
/** @test */
function it_can_get_only_transactions_with_status_success() {
$transaction = PaykuTransaction::create(['id' => 'trx...', 'status' => 'success']);
$this->assertCount(1, PaykuTransaction::success()->get());
}
/** @test */
function it_can_get_only_transactions_with_status_pending() {
$transaction = PaykuTransaction::create(['id' => 'trx...', 'status' => 'pending']);
$this->assertCount(1, PaykuTransaction::pending()->get());
}
/** @test */
function it_knows_when_it_was_marked_as_notified() {
$transaction = PaykuTransaction::create(['id' => 'trx...', 'notified_at' => null]);
$transaction->markAsNotified();
$this->assertNotNull($transaction->notified_at);
}
/** @test */
function it_can_notify_for_first_time() {
$transaction = PaykuTransaction::create(['id' => 'trx...', 'notified_at' => null]);
$this->nowIs('2021-07-26');
$now = now();
$transaction->notifyForFirstTime();
$this->assertEquals($now->format('Y-m-d'), $transaction->notified_at->format('Y-m-d'));
$transaction->notifyForFirstTime();
$this->nowIs('2021-07-30');
$this->assertNotEquals('2021-07-30', $transaction->notified_at->format('Y-m-d'));
}
}