Files
kulakpos_web/vendor/fedapay/fedapay-php/tests/PageTest.php
eko54r b5e3a778ce
All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
allow vendord
2026-03-30 14:54:57 +07:00

336 lines
11 KiB
PHP

<?php
namespace Tests;
use Faker\Factory;
class PageTest extends BaseTestCase
{
/**
* Should return array of FedaPay\Page
*/
// public function testShouldReturnPages()
// {
// $body = [
// 'v1/pages' => [[
// 'id' => 2,
// 'klass' => 'v1/page',
// 'name' => 'super Admin',
// 'reference' => 'v_hZUvFT',
// 'description' => 'fdfd',
// 'amount' => 0,
// 'published' => true,
// 'enable_phone_number' => false,
// 'callback_url' => null,
// 'image_url' => null,
// 'custom_fields' => [],
// 'currency' => [
// 'klass' => 'v1/currency',
// 'id' => 1,
// 'klass' => 'v1/currency',
// 'name' => 'FCFA',
// 'iso' => 'XOF',
// 'code' => 952,
// 'prefix' => null,
// 'suffix' => 'CFA',
// 'div' => 1,
// 'created_at' => '2018-03-12T09:09:03.969Z',
// 'updated_at' => '2018-03-12T09:09:03.969Z'
// ]
// ]],
// 'meta' => [
// 'current_page' => 1,
// 'next_page' => null,
// 'prev_page' => null,
// 'total_pages' => 1,
// 'total_count' => 1,
// 'per_page' => 25,
// ]
// ];
// $this->mockRequest('get', '/v1/pages', [], $body);
// $object = \FedaPay\Page::all();
// $this->assertTrue(is_array($object->pages));
// $this->assertInstanceOf(\FedaPay\FedaPayObject::class, $object);
// $this->assertInstanceOf(\FedaPay\FedaPayObject::class, $object->meta);
// $this->assertInstanceOf(\FedaPay\Page::class, $object->pages[0]);
// $this->assertEquals('super Admin', $object->pages[0]->name);
// $this->assertEquals('v_hZUvFT', $object->pages[0]->reference);
// $this->assertEquals('fdfd', $object->pages[0]->description);
// $this->assertInstanceOf(\FedaPay\FedaPayObject::class, $object->pages[0]->currency);
// }
// /**
// * Should faild creating the page
// */
// public function testPageCreationShouldFailed()
// {
// $data = [
// 'name' => 'Myname',
// 'description' => 'My description'
// ];
// $body = [
// 'message' => 'Page creation failed',
// 'errors' => [
// 'description' => ['description field required']
// ]
// ];
// $this->mockRequest('post', '/v1/pages', $data, $body, 500);
// try {
// \FedaPay\Page::create($data);
// } catch (\FedaPay\Error\ApiConnection $e) {
// $this->assertTrue($e->hasErrors());
// $this->assertNotNull($e->getErrorMessage());
// $errors = $e->getErrors();
// $this->assertArrayHasKey('description', $errors);
// }
// }
// /**
// * Should create a page
// */
// public function testShouldCreateAPage()
// {
// $data = [
// 'name' => 'Page name',
// 'reference' => 'page-reference',
// 'description' => 'Page description',
// 'currency_id' => 1
// ];
// $body = [
// 'v1/page' => [
// 'id' => 1,
// 'klass' => 'v1/page',
// 'name' => $data['name'],
// 'reference' => $data['reference'],
// 'description' => $data['description'],
// 'created_at' => '2019-11-19T10:19:03.969Z',
// 'updated_at' => '2019-11-19T10:19:03.969Z'
// ]
// ];
// $this->mockRequest('post', '/v1/pages', $data, $body);
// $page = \FedaPay\Page::create($data);
// $this->assertInstanceOf(\FedaPay\Page::class, $page);
// $this->assertEquals($page->name, $data['name']);
// $this->assertEquals($page->reference, $data['reference']);
// $this->assertEquals($page->description, $data['description']);
// $this->assertEquals($page->id, 1);
// }
// /**
// * Should retrieve a Page
// */
// public function testShouldRetrievedAPage()
// {
// $data = [
// 'name' => 'Page name',
// 'reference' => 'page-reference',
// 'description' => 'Page description',
// 'currency_id' => 1
// ];
// $body = [
// 'v1/page' => [
// 'id' => 1,
// 'klass' => 'v1/page',
// 'name' => $data['name'],
// 'reference' => $data['reference'],
// 'description' => $data['description'],
// 'created_at' => '2019-11-19T10:19:03.969Z',
// 'updated_at' => '2019-11-19T10:19:03.969Z'
// ]
// ];
// $this->mockRequest('get', '/v1/pages/1', [], $body);
// $page = \FedaPay\Page::retrieve(1);
// $this->assertInstanceOf(\FedaPay\Page::class, $page);
// $this->assertEquals($page->name, $data['name']);
// $this->assertEquals($page->reference, $data['reference']);
// $this->assertEquals($page->description, $data['description']);
// $this->assertEquals($page->id, 1);
// }
// /**
// * Should update a page
// */
// public function testShouldUpdateAPage()
// {
// $data = [
// 'name' => 'Page name',
// 'reference' => 'page-reference',
// 'description' => 'Page description',
// 'currency_id' => 1
// ];
// $body = [
// 'v1/page' => [
// 'id' => 1,
// 'klass' => 'v1/page',
// 'name' => $data['name'],
// 'reference' => $data['reference'],
// 'description' => $data['description'],
// 'created_at' => '2019-11-19T10:19:03.969Z',
// 'updated_at' => '2019-11-19T10:19:03.969Z'
// ]
// ];
// $this->mockRequest('put', '/v1/pages/1', $data, $body);
// $page = \FedaPay\Page::update(1, $data);
// $this->assertInstanceOf(\FedaPay\Page::class, $page);
// $this->assertEquals($page->name, $data['name']);
// $this->assertEquals($page->reference, $data['reference']);
// $this->assertEquals($page->description, $data['description']);
// $this->assertEquals($page->id, 1);
// }
// /**
// * Should update a page with save
// */
// public function testShouldUpdateAPageWithSave()
// {
// $data = [
// 'name' => 'Page name',
// 'reference' => 'page-reference',
// 'description' => 'Page description',
// 'currency_id' => 1
// ];
// $body = [
// 'v1/page' => [
// 'id' => 1,
// 'klass' => 'v1/page',
// 'name' => $data['name'],
// 'reference' => $data['reference'],
// 'description' => $data['description'],
// 'created_at' => '2019-11-19T10:19:03.969Z',
// 'updated_at' => '2019-11-19T10:19:03.969Z'
// ]
// ];
// $this->mockRequest('post', '/v1/pages', $data, $body);
// $page = \FedaPay\Page::create($data);
// $page->name = 'New name';
// $updateData = [
// 'klass' => 'v1/page',
// 'name' => 'New name',
// 'reference' => $data['reference'],
// 'description' => $data['description'],
// 'created_at' => '2019-11-19T10:19:03.969Z',
// 'updated_at' => '2019-11-19T10:19:03.969Z'
// ];
// $this->mockRequest('put', '/v1/pages/1', $updateData, $body);
// $page->save();
// }
// /**
// * Should delete a page
// */
// public function testShouldDeleteAPage()
// {
// $data = [
// 'name' => 'Page name',
// 'reference' => 'page-reference',
// 'description' => 'Page description',
// 'currency_id' => 1
// ];
// $body = [
// 'v1/page' => [
// 'id' => 1,
// 'klass' => 'v1/page',
// 'name' => $data['name'],
// 'reference' => $data['reference'],
// 'description' => $data['description'],
// 'created_at' => '2019-11-19T10:19:03.969Z',
// 'updated_at' => '2019-11-19T10:19:03.969Z'
// ]
// ];
// $this->mockRequest('post', '/v1/pages', $data, $body);
// $page = \FedaPay\Page::create($data);
// $this->mockRequest('delete', '/v1/pages/1');
// $page->delete();
// }
public function testShouldVerifyPage()
{
$data = [
'name' => 'Page name',
'reference' => 'page-reference',
'description' => 'Page description',
'currency_id' => 1
];
$body = [
'v1/page' => [
'id' => 1,
'klass' => 'v1/page',
'name' => $data['name'],
'reference' => $data['reference'],
'description' => $data['description'],
'created_at' => '2019-11-19T10:19:03.969Z',
'updated_at' => '2019-11-19T10:19:03.969Z'
]
];
$this->mockRequest('post', '/v1/pages', $data, $body);
$page = \FedaPay\Page::create($data);
$body = [
'v1/page_verify' => [
'page' => [
'id' => 1,
'klass' => 'v1/page',
'name' => $data['name'],
'reference' => $data['reference'],
'description' => $data['description'],
'created_at' => '2019-11-19T10:19:03.969Z',
'updated_at' => '2019-11-19T10:19:03.969Z'
],
'sesstings' => []
]
];
$this->mockRequest('get', '/v1/pages/' . $data['reference'] . '/verify', [], $body);
$object = $page->verify($data['reference']);
$this->assertInstanceOf(\FedaPay\Page::class, $object->page);
}
public function testShouldGetLightPage()
{
$body = [
'v1/page' => [
'id' => 1,
'klass' => 'v1/page',
'name' => 'Page name',
'reference' => 'XOOO',
'description' => 'Page description',
'created_at' => '2019-11-19T10:19:03.969Z',
'updated_at' => '2019-11-19T10:19:03.969Z'
]
];
$this->mockRequest('get', '/v1/pages/XOOO/light', [], $body);
$page = \FedaPay\Page::light('XOOO');
$this->assertEquals($page->name, 'Page name');
$this->assertEquals($page->reference, 'XOOO');
$this->assertEquals($page->description, 'Page description');
$this->assertEquals($page->id, 1);
}
}