From a35e37a069701d32010b66b6c1a902f72a721318 Mon Sep 17 00:00:00 2001 From: ankitdas13 Date: Wed, 22 Feb 2023 19:30:25 +0530 Subject: [PATCH 01/12] version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ad7d6625..216e9ae9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "razorpay", - "version": "2.8.5", + "version": "2.8.6", "description": "Official Node SDK for Razorpay API", "main": "dist/razorpay", "typings": "dist/razorpay", From fd5877709ca0ffaf3981a31942654f56d2f59d6b Mon Sep 17 00:00:00 2001 From: ankitdas13 Date: Tue, 11 Jul 2023 15:16:50 +0530 Subject: [PATCH 02/12] add customer & fund tests --- test_prod/resources/customer.spec.js | 65 +++++++++++++++++++++++++ test_prod/resources/fundAccount.spec.js | 53 ++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 test_prod/resources/customer.spec.js create mode 100644 test_prod/resources/fundAccount.spec.js diff --git a/test_prod/resources/customer.spec.js b/test_prod/resources/customer.spec.js new file mode 100644 index 00000000..33ffbe3c --- /dev/null +++ b/test_prod/resources/customer.spec.js @@ -0,0 +1,65 @@ +'use strict' + +var assert = require('assert'); +const rzpInstance = require('../razorpay') +const equal = require('deep-equal') + +var customerId = null; + +describe('CUSTOMERS', () => { + + it('Customer create request', (done) => { + + let params = { + "name": "Gaurav Kumar", + "contact": 9123456780, + "email": "gaurav.kumar@example.com", + "fail_existing": "0", + "notes": { + "notes_key_1": "Tea, Earl Grey, Hot", + "notes_key_2": "Tea, Earl Grey… decaf." + } + } + + rzpInstance.customers.create(params).then((response) => { + customerId = response.id + assert.ok(response.hasOwnProperty('id')) + assert.ok(response.hasOwnProperty('entity')) + done() + }).catch(err=>console.log(err)) + }) + + it('fetch customers', (done) => { + rzpInstance.customers.fetch(customerId).then((response) => { + assert.ok(response.hasOwnProperty('id')) + assert.ok((response.id==customerId)) + done() + }) + }) + + it('edit customer', (done) => { + let params = { + "contact": 9123456780 + } + + rzpInstance.customers.edit(customerId, params).then((response) => { + assert.ok(response.hasOwnProperty('id')) + assert.ok(response.hasOwnProperty('entity')) + assert.ok((response.id==customerId)) + done() + }).catch(err=>console.log(err)) + }) + + it('fetch all customers', (done) => { + let expectedParams = { + skip: 0, + count: 10 + } + + rzpInstance.orders.all(expectedParams).then((response) => { + assert.ok(response.hasOwnProperty('items')) + assert.ok(response.hasOwnProperty('count')) + done() + }) + }) +}) diff --git a/test_prod/resources/fundAccount.spec.js b/test_prod/resources/fundAccount.spec.js new file mode 100644 index 00000000..820100df --- /dev/null +++ b/test_prod/resources/fundAccount.spec.js @@ -0,0 +1,53 @@ +'use strict' + +var assert = require('assert'); +const rzpInstance = require('../razorpay') +const equal = require('deep-equal') + +var customerId = null; + +describe('FUND-ACCOUNTS', () => { + + it('Fundaccount create request', (done) => { + + let customerDetails = { + "name": "Gaurav Kumar", + "contact": 9123456780, + "email": "gaurav.kumar@example.com", + "fail_existing": "0", + "notes": { + "notes_key_1": "Tea, Earl Grey, Hot", + "notes_key_2": "Tea, Earl Grey… decaf." + } + } + + rzpInstance.customers.create(customerDetails) + .then(response => response.id) + .then((customer_id) => { + customerId = customer_id + rzpInstance.fundAccount.create({ + "customer_id": customer_id, + "account_type": "bank_account", + "bank_account": { + "name": "Gaurav Kumar", + "account_number": "11214311215411", + "ifsc": "HDFC0000053" + } + }).then((response) => { + //fundAccountId = response.id + //console.log(response) + assert.ok(response.hasOwnProperty('id')) + assert.ok(response.hasOwnProperty('entity')) + done() + }) + }) + }) + + it('fetch fund account', (done) => { + rzpInstance.fundAccount.fetch(customerId).then((response) => { + assert.ok(response.hasOwnProperty('items')) + assert.ok(response.hasOwnProperty('count')) + done() + }).catch(err=>console.log(err)) + }) +}) From 89bcc7d7de13054ff6a92ae32d5d20234aa579fc Mon Sep 17 00:00:00 2001 From: ankitdas13 Date: Tue, 11 Jul 2023 15:19:26 +0530 Subject: [PATCH 03/12] add ci.yml --- .github/workflows/prod_ci.yml | 32 ++++++++++++++++++++++++++++++++ test_prod/razorpay.js | 8 ++++++++ 2 files changed, 40 insertions(+) create mode 100644 .github/workflows/prod_ci.yml create mode 100644 test_prod/razorpay.js diff --git a/.github/workflows/prod_ci.yml b/.github/workflows/prod_ci.yml new file mode 100644 index 00000000..0dc3c88d --- /dev/null +++ b/.github/workflows/prod_ci.yml @@ -0,0 +1,32 @@ +name: e2e prod test +on: + push: + branches: + - master + tags: + - v[0-9]+.[0-9]+.[0-9]+* + pull_request: + branches: + - master +jobs: + test: + name: Run tests and publish test coverage + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [12.x, 14.x, 16.x, 18.x, 19,x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - name: Install dependencies + run: npm install + - name: Run tests + run: npm run test_prod + env: + API_KEY: ${{ secrets.API_KEY }} + API_SECRET: ${{ secrets.API_SECRET }} \ No newline at end of file diff --git a/test_prod/razorpay.js b/test_prod/razorpay.js new file mode 100644 index 00000000..eaa2962b --- /dev/null +++ b/test_prod/razorpay.js @@ -0,0 +1,8 @@ +'use strict'; + +const Razorpay = require("../dist/razorpay"); + +module.exports = new Razorpay({ + key_id: process.env.API_KEY || "", + key_secret: process.env.API_SECRET || "" +}); \ No newline at end of file From 0a206ea4d3927f38939a005da67a2cc97906b220 Mon Sep 17 00:00:00 2001 From: Ankit Das <89454448+ankitdas13@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:22:34 +0530 Subject: [PATCH 04/12] Update package.json --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 03390d0a..ed57fc4f 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "build": "npm run clean && npm run build:commonjs && npm run cp-ts", "debug": "npm run build && node-debug examples/index.js", "test": "npm run build && mocha --recursive --require babel-register test/ && nyc --reporter=text mocha", - "coverage": "nyc report --reporter=text-lcov > coverage.lcov" + "coverage": "nyc report --reporter=text-lcov > coverage.lcov", + "test_prod": "npm run build && mocha --recursive --require babel-register test_prod/" }, "repository": { "type": "git", From 804935fde95a482cd39f8ad46c0fa0c005615f7b Mon Sep 17 00:00:00 2001 From: Ankit Das <89454448+ankitdas13@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:25:08 +0530 Subject: [PATCH 05/12] Update node.js.yml --- .github/workflows/node.js.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 3f165c16..c845a303 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - node-version: [12.x, 14.x, 16.x] + node-version: [16.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: From 4d7af8e2e074745728382e652cab29a9551fabcb Mon Sep 17 00:00:00 2001 From: ankitdas13 Date: Tue, 11 Jul 2023 15:32:21 +0530 Subject: [PATCH 06/12] typo correction --- .github/workflows/ci.yml | 2 +- .github/workflows/prod_ci.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4232a6f2..91dddf32 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x, 14.x, 16.x, 18.x, 19,x] + node-version: [12.x, 14.x, 16.x, 18.x, 19.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/prod_ci.yml b/.github/workflows/prod_ci.yml index 0dc3c88d..02101784 100644 --- a/.github/workflows/prod_ci.yml +++ b/.github/workflows/prod_ci.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x, 14.x, 16.x, 18.x, 19,x] + node-version: [18.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - uses: actions/checkout@v2 From fee248d5d8d6aba1806f26cdb6b0992580a42929 Mon Sep 17 00:00:00 2001 From: Ankit Das <89454448+ankitdas13@users.noreply.github.com> Date: Tue, 11 Jul 2023 16:38:18 +0530 Subject: [PATCH 07/12] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ed57fc4f..642f7f1e 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "debug": "npm run build && node-debug examples/index.js", "test": "npm run build && mocha --recursive --require babel-register test/ && nyc --reporter=text mocha", "coverage": "nyc report --reporter=text-lcov > coverage.lcov", - "test_prod": "npm run build && mocha --recursive --require babel-register test_prod/" + "test_prod": "npm run build && mocha --timeout 10000 --recursive --require babel-register test_prod/" }, "repository": { "type": "git", From 0723d1e566728cc990281d1841bc7999435cb5e6 Mon Sep 17 00:00:00 2001 From: Ankit Das <89454448+ankitdas13@users.noreply.github.com> Date: Tue, 1 Aug 2023 16:19:10 +0530 Subject: [PATCH 08/12] Update razorpay.js --- test_prod/razorpay.js | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/test_prod/razorpay.js b/test_prod/razorpay.js index eaa2962b..5c2c49c4 100644 --- a/test_prod/razorpay.js +++ b/test_prod/razorpay.js @@ -1,8 +1,25 @@ 'use strict'; const Razorpay = require("../dist/razorpay"); +let request = require('request-promise'); -module.exports = new Razorpay({ +class RazorpayBeta extends Razorpay { + constructor(options) { + super(options) + this.api.rq = request.defaults({ + baseUrl: options.hostUrl, + json: true, + auth: { + user: options.key_id, + pass: options.key_secret + } + }) + } +} + + +module.exports = new RazorpayBeta({ key_id: process.env.API_KEY || "", - key_secret: process.env.API_SECRET || "" -}); \ No newline at end of file + key_secret: process.env.API_SECRET || "", + hostUrl : "https://api-web.dev.razorpay.in" +}); From e8de3e165a375b31dc1327509fa1721c79e0ccd0 Mon Sep 17 00:00:00 2001 From: Ankit Das <89454448+ankitdas13@users.noreply.github.com> Date: Tue, 1 Aug 2023 16:19:47 +0530 Subject: [PATCH 09/12] Update package.json --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 642f7f1e..03390d0a 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,7 @@ "build": "npm run clean && npm run build:commonjs && npm run cp-ts", "debug": "npm run build && node-debug examples/index.js", "test": "npm run build && mocha --recursive --require babel-register test/ && nyc --reporter=text mocha", - "coverage": "nyc report --reporter=text-lcov > coverage.lcov", - "test_prod": "npm run build && mocha --timeout 10000 --recursive --require babel-register test_prod/" + "coverage": "nyc report --reporter=text-lcov > coverage.lcov" }, "repository": { "type": "git", From 4b7fdfad364ec3fb7a739794fd3f110a8e525e7f Mon Sep 17 00:00:00 2001 From: Ankit Das <89454448+ankitdas13@users.noreply.github.com> Date: Tue, 1 Aug 2023 16:20:11 +0530 Subject: [PATCH 10/12] Update prod_ci.yml --- .github/workflows/prod_ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/prod_ci.yml b/.github/workflows/prod_ci.yml index 02101784..ec3f8e92 100644 --- a/.github/workflows/prod_ci.yml +++ b/.github/workflows/prod_ci.yml @@ -26,7 +26,7 @@ jobs: - name: Install dependencies run: npm install - name: Run tests - run: npm run test_prod + run: npm run env -- mocha --timeout 10000 --recursive --require babel-register test_prod/ env: API_KEY: ${{ secrets.API_KEY }} - API_SECRET: ${{ secrets.API_SECRET }} \ No newline at end of file + API_SECRET: ${{ secrets.API_SECRET }} From 35714d23d8966b0ea8d709c441d1c0f4c354419c Mon Sep 17 00:00:00 2001 From: Ankit Das <89454448+ankitdas13@users.noreply.github.com> Date: Tue, 1 Aug 2023 16:23:48 +0530 Subject: [PATCH 11/12] revert --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 91dddf32..4232a6f2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x, 14.x, 16.x, 18.x, 19.x] + node-version: [12.x, 14.x, 16.x, 18.x, 19,x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - uses: actions/checkout@v2 From 7426f76c70e9fa1c78139fb02852027f461f4102 Mon Sep 17 00:00:00 2001 From: Ankit Das <89454448+ankitdas13@users.noreply.github.com> Date: Tue, 1 Aug 2023 16:24:15 +0530 Subject: [PATCH 12/12] revert changes --- .github/workflows/node.js.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index c845a303..3f165c16 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - node-version: [16.x] + node-version: [12.x, 14.x, 16.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: