Skip to content
Open
Show file tree
Hide file tree
Changes from 4 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
25 changes: 14 additions & 11 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 user [Organization/Project object, default null]: Organization or Project object. Not necessary if starkbank.user was set before function call
* @param ids [list of strings, default None]: purchase IDs
* @param limit [integer, default None]: maximum number of objects to be retrieved. Unlimited if None. ex: 35
* @param after [datetime.date or string, default None] date filter for objects created only after specified date. ex: datetime.date(2020, 3, 10)
* @param before [datetime.date or string, default None] date filter for objects created only before specified date. ex: datetime.date(2020, 3, 10)
* @param merchantCategoryTypes [list of strings, default None]: merchant category type. ex: "health"
* @param holderIds [list of strings, default None]: card holder IDs. ex: ["5656565656565656", "4545454545454545"]
* @param cardIds [list of strings, default None]: card IDs. ex: ["5656565656565656", "4545454545454545"]
* @param status [list of strings, default None]: filter for status of retrieved objects. ex: ["approved", "canceled", "denied", "confirmed", "voided"],
* @param user [Organization/Project object, default None]: 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');
});
});
64 changes: 64 additions & 0 deletions testTypes/corporateCard.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
///<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 card = await starkbank.corporateCard.create(
new starkbank.CorporateCard(
{
holderId: "5764677799772160"
}
), {"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);
});
});
49 changes: 49 additions & 0 deletions testTypes/corporateHolder.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
///<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: "6253551860842496"})],
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(){
it('test_success', async () => {
let holder = await starkbank.corporateHolder.get("5276031183224832");
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');
});
});
32 changes: 32 additions & 0 deletions testTypes/corporatePurchase.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('TestCorporatePurchaseGet', function(){
it('test_success', async () => {
let purchase = await starkbank.corporatePurchase.get("4893776241754112");
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