Skip to content

Commit 17b5fe2

Browse files
Added pay test cases.
1 parent d42184c commit 17b5fe2

18 files changed

+467
-17
lines changed

src/Message/Concerns/PayRequestParameters.php

Lines changed: 0 additions & 17 deletions
This file was deleted.

tests/AppInApp/Mock/PayConfirm.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
HTTP/1.1 200 OK
2+
Server: nginx
3+
Date: Tue, 25 Jun 2019 08:56:42 GMT
4+
Content-Type: application/json; charset=utf-8
5+
Transfer-Encoding: chunked
6+
Connection: keep-alive
7+
Vary: Accept-Encoding
8+
X-Kong-Upstream-Latency: 310
9+
X-Kong-Proxy-Latency: 1
10+
Via: kong/0.14.1
11+
Strict-Transport-Security: max-age=15768000
12+
13+
{"status":0,"message":"success","data":{"partnerCode":"MOMOIQA420180417","momoTransId":"12436514111","amount":30000,"partnerRefId":"Merchant123556666"},"signature":"1f807e8fbcd498b55fb135ae2352ddbea69932789a80dbd99d26ad6d70fc097c"}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
HTTP/1.1 200 OK
2+
Server: nginx
3+
Date: Tue, 25 Jun 2019 08:56:42 GMT
4+
Content-Type: application/json; charset=utf-8
5+
Transfer-Encoding: chunked
6+
Connection: keep-alive
7+
Vary: Accept-Encoding
8+
X-Kong-Upstream-Latency: 310
9+
X-Kong-Proxy-Latency: 1
10+
Via: kong/0.14.1
11+
Strict-Transport-Security: max-age=15768000
12+
13+
{"status":0,"messages":"Thành công","data":{"status":1014,"message":"Mật khẩu bạn nhập không chính xác.","partnerCode":"MOMOIQA420180417","billId":"Merchant123556666","amount":30000,"discountAmount":0,"fee":0,"phoneNumber":"0938***061","storeId":null,"requestDate":"2018-07-12 09:46:32.872","responseDate":"2018-07-12 09:46:33.646","customerName":"DOAN CAO KHANG","transid":147938695}}

tests/AppInApp/Mock/Refund.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
HTTP/1.1 200 OK
2+
Server: nginx
3+
Date: Tue, 25 Jun 2019 08:56:42 GMT
4+
Content-Type: application/json; charset=utf-8
5+
Transfer-Encoding: chunked
6+
Connection: keep-alive
7+
Vary: Accept-Encoding
8+
X-Kong-Upstream-Latency: 310
9+
X-Kong-Proxy-Latency: 1
10+
Via: kong/0.14.1
11+
Strict-Transport-Security: max-age=15768000
12+
13+
{"status":0,"message":"Thành công","transid":12436514111,"amount":30000,"partnerRefId":"Merchant123556666"}
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<?php
2+
/**
3+
* @link https://github.com/phpviet/omnipay-momo
4+
* @copyright (c) PHP Viet
5+
* @license [MIT](http://www.opensource.org/licenses/MIT)
6+
*/
7+
8+
namespace Omnipay\MoMo\Tests\Message;
9+
10+
use Omnipay\Tests\TestCase;
11+
use Omnipay\MoMo\Message\PayConfirmRequest;
12+
13+
/**
14+
* @author Vuong Minh <[email protected]>
15+
* @since 1.0.0
16+
*/
17+
class PayConfirmRequestTest extends TestCase
18+
{
19+
/**
20+
* @var PayConfirmRequest
21+
*/
22+
private $request;
23+
24+
public function setUp()
25+
{
26+
$client = $this->getHttpClient();
27+
$request = $this->getHttpRequest();
28+
$this->request = new PayConfirmRequest($client, $request);
29+
}
30+
31+
public function testGetData()
32+
{
33+
$this->request->setPartnerRefId(1);
34+
$this->request->setPartnerCode(2);
35+
$this->request->setMomoTransId(3);
36+
$this->request->setRequestId(4);
37+
$this->request->setRequestType(5);
38+
$this->request->setCustomerNumber(6);
39+
$this->request->setSecretKey(7);
40+
$this->request->setTestMode(true);
41+
$this->request->setPublicKey('-----BEGIN PUBLIC KEY-----
42+
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAiBIo9EMTElPppPejirL1cdgCuZUoBzGZ
43+
F3SyrTp+xdMnIXSOiFYG+zHmI1lFzoEbEd1JwXAUV52gn/oAkUo+2qwuqZAPdkm714tiyjvxXE/0
44+
WYLl8X1K8uCSK47u26CnOLgNB6iW1m9jog00i9XV/AmKI1U8OioLFSp1BwMf3O+jA9uuRfj1Lv5Q
45+
0Q7RMtk4tgV924+D8mY/y3otBp5b+zX0NrWkRqwgPly6NeXN5LwqRj0LwAEVVwGbpl6V2cztYv94
46+
ZHjGzNziFJli2D0Vpb/HRPP6ibXvllgbL4UXU4Izqhxml8gwd74jXaNaEgNJGhjjeUXR1sAm7Mpj
47+
qqgyxpx6B2+GpjWtEwvbJuO8DsmQNsm+bJZhw46uf9AuY5VSYy2cAF1XMXSAPNLqYEE8oVUki4IW
48+
YOEWSNXcQwikJC25rAErbyst/0i8RN4yqgiO/xVA1J1vdmRQTvGMXPGbDFpVca4MkHHLrkdC3Z3C
49+
zgMkbIqnpaDYoIHZywraHWA7Zh5fDt/t7FzX69nbGg8i4QFLzIm/2RDPePJTY2R24w1iVO5RhEbK
50+
EaTBMuibp4UJH+nEQ1p6CNdHvGvWz8S0izfiZmYIddaPatQTxYRq4rSsE/+2L+9RE9HMqAhQVveh
51+
RGWWiGSY1U4lWVeTGq2suCNcMZdgDMbbIaSEJJRQTksCAwEAAQ==
52+
-----END PUBLIC KEY-----');
53+
$data = $this->request->getData();
54+
$this->assertEquals(7, count($data));
55+
$this->assertEquals(1, $data['partnerRefId']);
56+
$this->assertEquals(2, $data['partnerCode']);
57+
$this->assertEquals(3, $data['momoTransId']);
58+
$this->assertEquals(4, $data['requestId']);
59+
$this->assertEquals(5, $data['requestType']);
60+
$this->assertEquals(6, $data['customerNumber']);
61+
$this->assertEquals(null, $data['secretKey'] ?? null);
62+
$this->assertEquals(null, $data['publicKey'] ?? null);
63+
$this->assertEquals(null, $data['paymentCode'] ?? null);
64+
$this->assertEquals(null, $data['testMode'] ?? null);
65+
$this->assertTrue(isset($data['signature']));
66+
}
67+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?php
2+
/**
3+
* @link https://github.com/phpviet/omnipay-momo
4+
* @copyright (c) PHP Viet
5+
* @license [MIT](http://www.opensource.org/licenses/MIT)
6+
*/
7+
8+
namespace Omnipay\MoMo\Tests\Message;
9+
10+
use Omnipay\Tests\TestCase;
11+
use Omnipay\MoMo\Message\PayConfirmResponse;
12+
13+
/**
14+
* @author Vuong Minh <[email protected]>
15+
* @since 1.0.0
16+
*/
17+
class PayConfirmResponseTest extends TestCase
18+
{
19+
public function testConstruct()
20+
{
21+
$response = new PayConfirmResponse($this->getMockRequest(), [
22+
'example' => 'value',
23+
'foo' => 'bar',
24+
]);
25+
26+
$this->assertEquals(['example' => 'value', 'foo' => 'bar'], $response->getData());
27+
}
28+
29+
public function testResponse()
30+
{
31+
$httpResponse = $this->getMockHttpResponse('PayConfirmResponse.txt');
32+
$request = $this->getMockRequest();
33+
$request->shouldReceive('getParameters')->once()->andReturn([
34+
'secretKey' => 'fj00YKnJhmYqahaFWUgkg75saNTzMrbO',
35+
]);
36+
$response = new PayConfirmResponse(
37+
$request,
38+
json_decode($httpResponse->getBody()->getContents(), true)
39+
);
40+
41+
$this->assertTrue($response->isSuccessful());
42+
$this->assertEquals(12436514111, $response->getTransactionReference());
43+
$this->assertEquals('Merchant123556666', $response->getTransactionId());
44+
}
45+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<?php
2+
/**
3+
* @link https://github.com/phpviet/omnipay-momo
4+
* @copyright (c) PHP Viet
5+
* @license [MIT](http://www.opensource.org/licenses/MIT)
6+
*/
7+
8+
namespace Omnipay\MoMo\Tests\Message;
9+
10+
use Omnipay\Tests\TestCase;
11+
use Omnipay\MoMo\Message\PayQueryStatusRequest;
12+
13+
/**
14+
* @author Vuong Minh <[email protected]>
15+
* @since 1.0.0
16+
*/
17+
class PayQueryStatusRequestTest extends TestCase
18+
{
19+
/**
20+
* @var PayQueryStatusRequest
21+
*/
22+
private $request;
23+
24+
public function setUp()
25+
{
26+
$client = $this->getHttpClient();
27+
$request = $this->getHttpRequest();
28+
$this->request = new PayQueryStatusRequest($client, $request);
29+
}
30+
31+
public function testGetData()
32+
{
33+
$this->request->setPartnerRefId(1);
34+
$this->request->setPartnerCode(2);
35+
$this->request->setMomoTransId(3);
36+
$this->request->setRequestId(4);
37+
$this->request->setTestMode(true);
38+
$this->request->setPublicKey('-----BEGIN PUBLIC KEY-----
39+
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAiBIo9EMTElPppPejirL1cdgCuZUoBzGZ
40+
F3SyrTp+xdMnIXSOiFYG+zHmI1lFzoEbEd1JwXAUV52gn/oAkUo+2qwuqZAPdkm714tiyjvxXE/0
41+
WYLl8X1K8uCSK47u26CnOLgNB6iW1m9jog00i9XV/AmKI1U8OioLFSp1BwMf3O+jA9uuRfj1Lv5Q
42+
0Q7RMtk4tgV924+D8mY/y3otBp5b+zX0NrWkRqwgPly6NeXN5LwqRj0LwAEVVwGbpl6V2cztYv94
43+
ZHjGzNziFJli2D0Vpb/HRPP6ibXvllgbL4UXU4Izqhxml8gwd74jXaNaEgNJGhjjeUXR1sAm7Mpj
44+
qqgyxpx6B2+GpjWtEwvbJuO8DsmQNsm+bJZhw46uf9AuY5VSYy2cAF1XMXSAPNLqYEE8oVUki4IW
45+
YOEWSNXcQwikJC25rAErbyst/0i8RN4yqgiO/xVA1J1vdmRQTvGMXPGbDFpVca4MkHHLrkdC3Z3C
46+
zgMkbIqnpaDYoIHZywraHWA7Zh5fDt/t7FzX69nbGg8i4QFLzIm/2RDPePJTY2R24w1iVO5RhEbK
47+
EaTBMuibp4UJH+nEQ1p6CNdHvGvWz8S0izfiZmYIddaPatQTxYRq4rSsE/+2L+9RE9HMqAhQVveh
48+
RGWWiGSY1U4lWVeTGq2suCNcMZdgDMbbIaSEJJRQTksCAwEAAQ==
49+
-----END PUBLIC KEY-----');
50+
$data = $this->request->getData();
51+
$this->assertEquals(6, count($data));
52+
$this->assertEquals(1, $data['partnerRefId']);
53+
$this->assertEquals(2, $data['partnerCode']);
54+
$this->assertEquals(3, $data['momoTransId']);
55+
$this->assertEquals(4, $data['requestId']);
56+
$this->assertEquals(null, $data['secretKey'] ?? null);
57+
$this->assertEquals(null, $data['publicKey'] ?? null);
58+
$this->assertEquals(null, $data['paymentCode'] ?? null);
59+
$this->assertEquals(null, $data['testMode'] ?? null);
60+
$this->assertTrue(isset($data['hash']));
61+
$this->assertTrue(isset($data['version']));
62+
}
63+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
/**
3+
* @link https://github.com/phpviet/omnipay-momo
4+
* @copyright (c) PHP Viet
5+
* @license [MIT](http://www.opensource.org/licenses/MIT)
6+
*/
7+
8+
namespace Omnipay\MoMo\Tests\Message;
9+
10+
use Omnipay\Tests\TestCase;
11+
use Omnipay\MoMo\Message\PayQueryStatusResponse;
12+
13+
/**
14+
* @author Vuong Minh <[email protected]>
15+
* @since 1.0.0
16+
*/
17+
class PayQueryStatusResponseTest extends TestCase
18+
{
19+
public function testConstruct()
20+
{
21+
$response = new PayQueryStatusResponse($this->getMockRequest(), [
22+
'example' => 'value',
23+
'foo' => 'bar',
24+
]);
25+
26+
$this->assertEquals(['example' => 'value', 'foo' => 'bar'], $response->getData());
27+
}
28+
29+
public function testResponse()
30+
{
31+
$httpResponse = $this->getMockHttpResponse('PayQueryStatusResponse.txt');
32+
$request = $this->getMockRequest();
33+
$response = new PayQueryStatusResponse(
34+
$request,
35+
json_decode($httpResponse->getBody()->getContents(), true)
36+
);
37+
38+
$this->assertTrue($response->isSuccessful());
39+
$this->assertEquals(147938695, $response->getTransactionReference());
40+
$this->assertEquals('Merchant123556666', $response->getTransactionId());
41+
}
42+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<?php
2+
/**
3+
* @link https://github.com/phpviet/omnipay-momo
4+
* @copyright (c) PHP Viet
5+
* @license [MIT](http://www.opensource.org/licenses/MIT)
6+
*/
7+
8+
namespace Omnipay\MoMo\Tests\Message;
9+
10+
use Omnipay\Tests\TestCase;
11+
use Omnipay\MoMo\Message\PayRefundRequest;
12+
13+
/**
14+
* @author Vuong Minh <[email protected]>
15+
* @since 1.0.0
16+
*/
17+
class PayRefundRequestTest extends TestCase
18+
{
19+
/**
20+
* @var PayRefundRequest
21+
*/
22+
private $request;
23+
24+
public function setUp()
25+
{
26+
$client = $this->getHttpClient();
27+
$request = $this->getHttpRequest();
28+
$this->request = new PayRefundRequest($client, $request);
29+
}
30+
31+
public function testGetData()
32+
{
33+
$this->request->setPartnerRefId(1);
34+
$this->request->setPartnerCode(2);
35+
$this->request->setMomoTransId(3);
36+
$this->request->setRequestId(4);
37+
$this->request->setAmount(5);
38+
$this->request->setTestMode(true);
39+
$this->request->setPublicKey('-----BEGIN PUBLIC KEY-----
40+
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAiBIo9EMTElPppPejirL1cdgCuZUoBzGZ
41+
F3SyrTp+xdMnIXSOiFYG+zHmI1lFzoEbEd1JwXAUV52gn/oAkUo+2qwuqZAPdkm714tiyjvxXE/0
42+
WYLl8X1K8uCSK47u26CnOLgNB6iW1m9jog00i9XV/AmKI1U8OioLFSp1BwMf3O+jA9uuRfj1Lv5Q
43+
0Q7RMtk4tgV924+D8mY/y3otBp5b+zX0NrWkRqwgPly6NeXN5LwqRj0LwAEVVwGbpl6V2cztYv94
44+
ZHjGzNziFJli2D0Vpb/HRPP6ibXvllgbL4UXU4Izqhxml8gwd74jXaNaEgNJGhjjeUXR1sAm7Mpj
45+
qqgyxpx6B2+GpjWtEwvbJuO8DsmQNsm+bJZhw46uf9AuY5VSYy2cAF1XMXSAPNLqYEE8oVUki4IW
46+
YOEWSNXcQwikJC25rAErbyst/0i8RN4yqgiO/xVA1J1vdmRQTvGMXPGbDFpVca4MkHHLrkdC3Z3C
47+
zgMkbIqnpaDYoIHZywraHWA7Zh5fDt/t7FzX69nbGg8i4QFLzIm/2RDPePJTY2R24w1iVO5RhEbK
48+
EaTBMuibp4UJH+nEQ1p6CNdHvGvWz8S0izfiZmYIddaPatQTxYRq4rSsE/+2L+9RE9HMqAhQVveh
49+
RGWWiGSY1U4lWVeTGq2suCNcMZdgDMbbIaSEJJRQTksCAwEAAQ==
50+
-----END PUBLIC KEY-----');
51+
$data = $this->request->getData();
52+
$this->assertEquals(7, count($data));
53+
$this->assertEquals(1, $data['partnerRefId']);
54+
$this->assertEquals(2, $data['partnerCode']);
55+
$this->assertEquals(3, $data['momoTransId']);
56+
$this->assertEquals(4, $data['requestId']);
57+
$this->assertEquals(5, $data['amount']);
58+
$this->assertEquals(null, $data['secretKey'] ?? null);
59+
$this->assertEquals(null, $data['publicKey'] ?? null);
60+
$this->assertEquals(null, $data['paymentCode'] ?? null);
61+
$this->assertEquals(null, $data['testMode'] ?? null);
62+
$this->assertTrue(isset($data['hash']));
63+
$this->assertTrue(isset($data['version']));
64+
}
65+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
/**
3+
* @link https://github.com/phpviet/omnipay-momo
4+
* @copyright (c) PHP Viet
5+
* @license [MIT](http://www.opensource.org/licenses/MIT)
6+
*/
7+
8+
namespace Omnipay\MoMo\Tests\Message;
9+
10+
use Omnipay\Tests\TestCase;
11+
use Omnipay\MoMo\Message\PayRefundResponse;
12+
13+
/**
14+
* @author Vuong Minh <[email protected]>
15+
* @since 1.0.0
16+
*/
17+
class PayRefundResponseTest extends TestCase
18+
{
19+
public function testConstruct()
20+
{
21+
$response = new PayRefundResponse($this->getMockRequest(), [
22+
'example' => 'value',
23+
'foo' => 'bar',
24+
]);
25+
26+
$this->assertEquals(['example' => 'value', 'foo' => 'bar'], $response->getData());
27+
}
28+
29+
public function testResponse()
30+
{
31+
$httpResponse = $this->getMockHttpResponse('PayRefundResponse.txt');
32+
$request = $this->getMockRequest();
33+
$response = new PayRefundResponse(
34+
$request,
35+
json_decode($httpResponse->getBody()->getContents(), true)
36+
);
37+
38+
$this->assertTrue($response->isSuccessful());
39+
$this->assertEquals(12436514111, $response->getTransactionReference());
40+
$this->assertEquals('Merchant123556666', $response->getTransactionId());
41+
}
42+
}

0 commit comments

Comments
 (0)