Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion sdk/corporateHolder/corporateHolder.js
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ exports.update = async function (id, {centerId, permissions, status, name, rules
* @description Update a CorporateHolder by passing its id.
*
* Parameters (required):
* @parmam id [string]: CorporateHolder id. ex: '5656565656565656'
* @param id [string]: CorporateHolder id. ex: '5656565656565656'
*
* Parameters (optional):
* @param centerId [string, default null]: target cost center ID. ex: "5656565656565656"
Expand Down
2 changes: 1 addition & 1 deletion sdk/corporateHolder/log/log.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ exports.get = async function (id, {user} = {}) {
*
*/

return rest.deleteId(resource, id, user);
return rest.getId(resource, id, user);
}

exports.query = async function ({limit, after, before, types, holderIds, ids, user} = {}) {
Expand Down
10 changes: 5 additions & 5 deletions sdk/corporateHolder/permission.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ class Permission extends SubResource {
* @param ownerType [string, default null]: owner type. ex: "project"
*
* Attributes (return only):
* @return ownerEmail [string]: email address of the owner. ex: "[email protected]
* @return ownerName [string]: name of the owner. ex: "Tony Stark"
* @return ownerPictureUrl [string]: Profile picture Url of the owner. ex: "https://storage.googleapis.com/api-ms-workspace-sbx.appspot.com/pictures/member/6227829385592832?20230404164942"
* @return ownerStatus [string]: current owner status. ex: "active", "blocked", "canceled"
* @return created [string]: creation datetime for the Permission. ex: '2020-03-10 10:30:00.000'
* @param ownerEmail [string]: email address of the owner. ex: "[email protected]
* @param ownerName [string]: name of the owner. ex: "Tony Stark"
* @param ownerPictureUrl [string]: Profile picture Url of the owner. ex: "https://storage.googleapis.com/api-ms-workspace-sbx.appspot.com/pictures/member/6227829385592832?20230404164942"
* @param ownerStatus [string]: current owner status. ex: "active", "blocked", "canceled"
* @param created [string]: creation datetime for the Permission. ex: '2020-03-10 10:30:00.000'
*
*/

Expand Down
23 changes: 13 additions & 10 deletions sdk/corporatePurchase/corporatePurchase.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,20 +109,23 @@ exports.get = async function (id, {user} = {}) {

exports.query = async function ({ids, limit, after, before, merchantCategoryTypes, holderIds, cardIds, status, user} = {}) {
/**
*
* Retrieve a specific CorporatePurchase
*
* @description Receive a single CorporatePurchase object previously created in the Stark Bank API by its id
*
* Parameters (required):
* @param id [string]: object unique id. ex: "5656565656565656"
*
* Retrieve CorporatePurchases
*
* @description Receive a generator of CorporatePurchase objects previously created in the Stark Bank API
*
* Parameters (optional):
* @param ids [list of strings, default null]: purchase IDs
* @param limit [integer, default null]: maximum number of objects to be retrieved. Unlimited if null. ex: 35
* @param after [string, default null] date filter for objects created only after specified date. ex: '2020-03-10'
* @param before [string, default null] date filter for objects created only before specified date. ex: '2020-03-10'
* @param merchantCategoryTypes [list of strings, default null]: merchant category type. ex: "health"
* @param holderIds [list of strings, default null]: card holder IDs. ex: ["5656565656565656", "4545454545454545"]
* @param cardIds [list of strings, default null]: card IDs. ex: ["5656565656565656", "4545454545454545"]
* @param status [list of strings, default null]: filter for status of retrieved objects. ex: ["approved", "canceled", "denied", "confirmed", "voided"],
* @param user [Organization/Project object, default null]: Organization or Project object. Not necessary if starkbank.user was set before function call
*
* Return:
* @return CorporatePurchase object with updated attributes
*
* @return generator of CorporatePurchase objects with updated attributes
*/

let query = {
Expand Down
3 changes: 2 additions & 1 deletion sdk/corporateRule/corporateRule.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ class CorporateRule extends Resource {
* @param categories [list of MerchantCategories, default []]: merchant categories accepted by the rule. ex: [MerchantCategory(code="fastFoodRestaurants")]
* @param countries [list of MerchantCountries, default []]: countries accepted by the rule. ex: [MerchantCountry(code="BRA")]
* @param methods [list of CardMethods, default []]: card purchase methods accepted by the rule. ex: [CardMethod(code="magstripe")]
* @param Attributes (expanded return-only):
*
* Attributes (expanded return-only):
* @param id [string]: unique id returned when a CorporateRule is created, used to update a specific CorporateRule. ex: "5656565656565656"
* @param counterAmount [integer]: current rule spent amount. ex: 1000
* @param currencySymbol [string]: currency symbol. ex: "R$"
Expand Down
14 changes: 14 additions & 0 deletions testTypes/corporateBalance.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
///<reference types="../types/" />

import starkbank from "starkbank";
import assert from 'assert';

starkbank.user = require('./utils/user').exampleProject;

describe('TestCorporateBalanceGet', function(){
jest.setTimeout(10000);
it('test_success', async () => {
let balance = await starkbank.corporateBalance.get();
assert(typeof balance.amount == 'number');
});
});
68 changes: 68 additions & 0 deletions testTypes/corporateCard.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
///<reference types="../types/" />

import starkbank from "starkbank";
import assert from 'assert';

starkbank.user = require('./utils/user').exampleProject;

describe('TestCorporateCardCreate', function(){
jest.setTimeout(10000);
it('test_success', async () => {

let holders = await starkbank.corporateHolder.query({ limit: 1 });
for await (let holder of holders) {
let card = await starkbank.corporateCard.create(
new starkbank.CorporateCard(
{
holderId: holder.id
}
), {"expand": ["rules", "securityCode", "number", "expiration"]}
);
assert(card.securityCode != '***');
}
});
});

describe('TestCorporateCardGet', function(){
jest.setTimeout(10000);
it('test_success', async () => {
let cards = await starkbank.corporateCard.query({ limit: 1 });
for await (let card of cards) {
card = await starkbank.corporateCard.get(card.id)
assert(typeof card.id == 'string')
}
});
});

describe('TestCorporateCardQuery', function(){
jest.setTimeout(10000);
it('test_success', async () => {
let i = 0;
let cards = await starkbank.corporateCard.query({ limit: 5 });
for await (let card of cards) {
assert(typeof card.id == 'string');
i += 1;
}
assert(i === 5);
});
});

describe('TestCorporateCardPage', function(){
jest.setTimeout(10000);
it('test_success', async () => {
let ids: string[] = [];
let cursor: string | null = null;
let page: starkbank.CorporateCard[] | null = null;
for (let i = 0; i < 2; i++) {
[page, cursor] = await starkbank.corporateCard.page({ limit: 5, cursor: cursor });
for (let entity of page) {
assert(!ids.includes(entity.id));
ids.push(entity.id);
}
if (cursor == null) {
break;
}
}
assert(ids.length == 10);
});
});
50 changes: 50 additions & 0 deletions testTypes/corporateCardLog.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
///<reference types="../types/" />

import starkbank from "starkbank";
import assert from 'assert';

starkbank.user = require('./utils/user').exampleProject;

describe('TestCorporateCardGet', function(){
jest.setTimeout(10000);
it('test_success', async () => {
let cards = await starkbank.corporateCard.log.query({ limit: 1 });
for await (let card of cards) {
card = await starkbank.corporateCard.log.get(card.id)
assert(typeof card.id == 'string')
}
});
});

describe('TestCorporateCardQuery', function(){
jest.setTimeout(10000);
it('test_success', async () => {
let i = 0;
let cards = await starkbank.corporateCard.log.query({ limit: 5 });
for await (let card of cards) {
assert(typeof card.id == 'string');
i += 1;
}
assert(i === 5);
});
});

describe('TestCorporateCardPage', function(){
jest.setTimeout(10000);
it('test_success', async () => {
let ids: string[] = [];
let cursor: string | null = null;
let page: starkbank.CorporateCard[] | null = null;
for (let i = 0; i < 2; i++) {
[page, cursor] = await starkbank.corporateCard.log.page({ limit: 5, cursor: cursor });
for (let entity of page) {
assert(!ids.includes(entity.id));
ids.push(entity.id);
}
if (cursor == null) {
break;
}
}
assert(ids.length == 10);
});
});
53 changes: 53 additions & 0 deletions testTypes/corporateHolder.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
///<reference types="../types/" />

import starkbank, { corporateHolder } from "starkbank";
import assert from 'assert';
const random = require('./utils/random.js').random;

starkbank.user = require('./utils/user').exampleProject;

describe('TestCorporateHolderCreateAndUpdate', function(){
it('test_success', async () => {
let holder = await starkbank.corporateHolder.create(
[new starkbank.CorporateHolder({
name: "Test - " + 1025425,
permissions: [new starkbank.corporateHolder.Permission({ ownerType: "project", ownerId: process.env.SANDBOX_ID })],
rules: [new starkbank.CorporateRule({ name: "Travel", amount: 200000 })]
})
]);

let holderId = holder[0].id
assert(typeof holderId == 'string');
holder = await starkbank.corporateHolder.update(holderId, { status: "blocked" });
assert(typeof holder.id == 'string');
});
});

describe('TestcorporateHolderGet', function(){
jest.setTimeout(10000);
it('test_success', async () => {
let holders = await starkbank.corporateHolder.query({ limit: 1 });
for await (let holder of holders) {
holder = await starkbank.corporateHolder.get(holder.id)
assert(typeof holder.id == 'string')
}
});
});

describe('TestCorporateHolderQuery', function(){
it('test_success', async () => {
let holders = await starkbank.corporateHolder.query({ limit: 3 });
for await (let holder of holders) {
assert(typeof holder.id == 'string');
}
});
});

describe('TestCorporateHolderPage', function(){
it('test_success', async () => {
let [page, cursor] = await starkbank.corporateHolder.page();
for await (let entity of page) {
assert(typeof entity.id == 'string');
}
});
});
50 changes: 50 additions & 0 deletions testTypes/corporateHolderLog.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
///<reference types="../types/" />

import starkbank from "starkbank";
import assert from 'assert';

starkbank.user = require('./utils/user').exampleProject;

describe('TestcorporateHolderGet', function(){
jest.setTimeout(10000);
it('test_success', async () => {
let holders = await starkbank.corporateHolder.log.query({ limit: 1 });
for await (let holder of holders) {
holder = await starkbank.corporateHolder.log.get(holder.id)
assert(typeof holder.id == 'string')
}
});
});

describe('TestcorporateHolderQuery', function(){
jest.setTimeout(10000);
it('test_success', async () => {
let i = 0;
let holders = await starkbank.corporateHolder.log.query({ limit: 5 });
for await (let holder of holders) {
assert(typeof holder.id == 'string');
i += 1;
}
assert(i === 5);
});
});

describe('TestcorporateHolderPage', function(){
jest.setTimeout(10000);
it('test_success', async () => {
let ids: string[] = [];
let cursor: string | null = null;
let page: starkbank.corporateHolder.Log[]
for (let i = 0; i < 2; i++) {
[page, cursor] = await starkbank.corporateHolder.log.page({ limit: 5, cursor: cursor });
for (let entity of page) {
assert(!ids.includes(entity.id));
ids.push(entity.id);
}
if (cursor == null) {
break;
}
}
assert(ids.length == 10);
});
});
32 changes: 32 additions & 0 deletions testTypes/corporateInvoice.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
///<reference types="../types/" />

import starkbank from "starkbank";
import assert from 'assert';

starkbank.user = require('./utils/user').exampleProject;

describe('TestCorporateInvoiceCreate', function(){
it('test_success', async () => {
let invoice = await starkbank.corporateInvoice.create(new starkbank.CorporateInvoice({ amount: 1000 }));
assert(typeof invoice.id == 'string');
});
});

describe('TestCorporateInvoiceQuery', function(){
it('test_success', async () => {
let invoices = await starkbank.corporateInvoice.query({ limit: 3 });
for await (let invoice of invoices) {
assert(typeof invoice.id == 'string');
}
});
});

describe('TestCorporateInvoicePage', function(){
it('test_success', async () => {
let [page, cursor] = await starkbank.corporateInvoice.page();
for await (let entity of page) {
assert(typeof entity.id == 'string');
}
assert(typeof cursor == 'string');
});
});
36 changes: 36 additions & 0 deletions testTypes/corporatePurchase.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
///<reference types="../types/" />

import starkbank from "starkbank";
import assert from 'assert';

starkbank.user = require('./utils/user').exampleProject;

describe('TestcorporatePurchaseGet', function(){
jest.setTimeout(10000);
it('test_success', async () => {
let purchases = await starkbank.corporatePurchase.query({ limit: 1 });
for await (let purchase of purchases) {
purchase = await starkbank.corporatePurchase.get(purchase.id)
assert(typeof purchase.id == 'string')
}
});
});

describe('TestCorporatePurchaseQuery', function(){
it('test_success', async () => {
let purchases = await starkbank.corporatePurchase.query({ limit: 3 });
for await (let purchase of purchases) {
assert(typeof purchase.id == 'string');
}
});
});

describe('TestCorporatePurchasePage', function(){
it('test_success', async () => {
let [page, cursor] = await starkbank.corporatePurchase.page({ limit: 2 });
for await (let entity of page) {
assert(typeof entity.id == 'string');
}
assert(typeof cursor == 'string');
});
});
Loading