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 .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ docs/_site/
yarn.lock
package-lock.json
npm-shrinkwrap.json
test-config.js
utils.js
2 changes: 0 additions & 2 deletions index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,6 @@ declare module 'celsius-sdk' {
* Celsius Withdraw Options
*/
interface CelsiusWithdrawOptions {
/** The coin you wish to withdraw */
coin: string;
/** This is the withdrawal amount you want */
amount: number;
/** This is destination address that you want the tokens to be deposited */
Expand Down
7 changes: 1 addition & 6 deletions lib/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -121,12 +121,7 @@ const Util = function (config) {
class ValidationError {
constructor (error) {
this.status = error.status

if (error.data.message) {
this.message = error.data.message
} else {
this.message = error.data
}
this.message = error.data.message ? error.data.message : error.data
}
}

Expand Down
11 changes: 7 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "celsius-sdk",
"version": "0.10.8",
"version": "0.10.9",
"author": {
"name": "Celsius Network",
"email": "",
Expand All @@ -22,22 +22,25 @@
"eslint ": "eslint lib/*",
"jsdoc": "jsdoc -r -c ./docs/jsdoc/config.json",
"swagger": "",
"test": "mocha"
"test": "mocha --timeout 5000",
"test-coverage": "nyc --reporter=text mocha"
},
"dependencies": {
"axios": "^0.18.0",
"form-data": "^2.3.3"
},
"devDependencies": {
"chai": "^4.2.0",
"dotenv": "^7.0.0",
"eslint": "^5.9.0",
"eslint-config-standard": "^12.0.0",
"eslint-plugin-import": "^2.14.0",
"eslint-plugin-node": "^8.0.0",
"eslint-plugin-promise": "^4.0.1",
"eslint-plugin-standard": "^4.0.0",
"pre-commit": "^1.2.2",
"jsdoc": "^3.5.5",
"mocha": "^6.0.2",
"chai": "^4.2.0"
"nyc": "^13.3.0",
"pre-commit": "^1.2.2"
}
}
Binary file added test/assets/blank.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
62 changes: 62 additions & 0 deletions test/errors.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
const {Celsius, AUTH_METHODS, ENVIRONMENT } = require('../index')

const expect = require('chai').expect
const {
newUser,
partnerKeyToken,
documents,
partnerKeyApiKey,
publicKey
} = require('./utils')
const { Util } = require('../lib/util')

describe('Errors Test', async function () {

it('Invalid authentication method provided', async () => {
try {
let wrongPartner = await Celsius({
partnerKey: partnerKeyToken, // partner key
environment: ENVIRONMENT.STAGING
})
} catch (error) {
expect(error.message).to.be.equal('Invalid authentication method provided.')
}
})

it('Null partner key', async () => {
try {
let wrongPartner = await Celsius({
authMethod: AUTH_METHODS.API_KEY, // Auth method
environment: ENVIRONMENT.STAGING, // Wallet-API url
publicKey: publicKey // public key
})
} catch (error) {
expect(error.message).to.be.equal('Partner key can not be null.')
}
})

// it('Response signature verification failed', async () => {
// try {
// let wrongPartner = await Celsius({
// authMethod: AUTH_METHODS.API_KEY, // Auth method
// partnerKey: partnerKeyApiKey, // partner key
// environment: ENVIRONMENT.STAGING, // Wallet-API url
// })
//
// // We're sending an empty object as we don't want even to parse the response.
// await wrongPartner.getKycStatus(newUser)
// } catch (error) {
// console.log(error)
// expect(error.message).to.be.equal('Response signature verification failed.')
// }
// })

it('No public key provided', async () => {
try {
const util = Util({})
util.verifyResponse('example', 'test')
} catch (error) {
expect(error.message).to.be.equal('No public key provided.')
}
})
})
75 changes: 75 additions & 0 deletions test/kyc.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
const {Celsius, AUTH_METHODS, ENVIRONMENT} = require('../index')
const expect = require('chai').expect
const {
newUser,
partnerKeyToken,
publicKey,
partnerKYC,
documents,
newKycUser,
} = require('./utils')
let partnerWithoutKyc, partnerWithoKyc

const mockKycData = {
first_name: 'Satoshi',
last_name: 'Nakamoto',
date_of_birth: '1990-04-14',
citizenship: 'Serbia',
country: 'Serbia',
state: 'United State',
city: 'Belgrade',
zip: '123',
street: '3rd Street',
building_number: '15a',
flat_number: '1c',
itin: '123-456-789',
national_id: '123-456-789',
ssn: '',
middle_name: '',
title: 'mr222',
phone_number: '+3811234567890',
document_type: 'passport'
}

describe('KYC Test', async function () {
before(async () => {
partnerWithoutKyc = await Celsius({
authMethod: AUTH_METHODS.USER_TOKEN, // Auth method
partnerKey: partnerKeyToken, // partner key
environment: ENVIRONMENT.STAGING, // Wallet-API url
publicKey: publicKey // public key
})
})

it('KYC status passed', async () => {
const kycStatus = await partnerWithoutKyc.getKycStatus(newUser)
expect(kycStatus.status).to.be.equal('PASSED')
})

it('Create kyc partner', async () => {
partnerWithoKyc = await Celsius({
authMethod: AUTH_METHODS.USER_TOKEN,
partnerKey: partnerKYC,
environment: ENVIRONMENT.STAGING,
publicKey: publicKey
})
})

it('KYC status collecting', async () => {
const kycStatus = await partnerWithoKyc.getKycStatus(newKycUser)
expect(kycStatus.status).to.be.equal('COLLECTING')
})

it('KYC verify', async () => {
const { message } = await partnerWithoKyc.verifyKyc(mockKycData, documents, newKycUser)
expect(message).to.be.equal('Kyc started.')
}).timeout(3500)

it('KYC verification error', async () => {
try {
await partnerWithoKyc.verifyKyc({}, documents, newKycUser)
} catch (error) {
expect(error.message).to.be.a('array')
}
})
})
123 changes: 0 additions & 123 deletions test/test.js

This file was deleted.

58 changes: 58 additions & 0 deletions test/user.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
const {Celsius, AUTH_METHODS, ENVIRONMENT} = require('../index')
const expect = require('chai').expect
const {
newUser,
partnerKeyToken,
publicKey,
userAddress
} = require('./utils')
let instance, user


describe('User Test', async function () {

before(async () => {
instance = await Celsius({
authMethod: AUTH_METHODS.USER_TOKEN, // Auth method
partnerKey: partnerKeyToken, // partner key
environment: ENVIRONMENT.STAGING,
publicKey: publicKey // public key
})
})

it('Get users', async () => {
let { users } = await instance.getUsers({}, newUser)

user = users.results.find((element) => {
return element.api_token === newUser
})

expect(users).to.be.a('object')
}).timeout(3500)

it('Change metadate', async () => {
let { message } = await instance.changeMetadata(user.id, {example: 'example'}, newUser)
expect(message).to.be.equal('User`s metadata has been updated')
})

it('Change withdrawal address', async () => {
let userObj = await instance.changeWithdrawalAddress(user.id, {short: 'ETH', address: userAddress}, newUser)
expect(userObj).to.be.a('object')
})

// it('Create user', async () => {
// const l = await instance.createUser({taxNumber: 123, companyName: 'asdf', email: 'asdfas@sadf.com', contactPerson: 1234, country: 'Serbia', contactEmail: 'asd@afsd.com', withdrawalWallets: JSON.stringify([{short: 'ETH', address: '4N2tz7rrbK17236DPrFx67KjXmUafUMsnsN'}])}, newUser)
//
// console.log(l)
// // let { message } = await instance.createUser({taxNumber: 123, companyName: 'asdf', email: 'asdfas@sadf.com', contactPerson: 1234, country: 'Serbia', contactEmail: 'asd@afsd.com', withdrawalWallets: JSON.stringify([{short: 'ETH', address: '4N2tz7rrbK17236DPrFx67KjXmUafUMsnsN'}])}, newUser)
// expect(l.message).to.be.equal('User has been created')
// })

it('Validation error - create user', async () => {
try {
await instance.createUser({contactEmail: 'asd@afsd.com', withdrawalWallets: JSON.stringify([{short: 'ETH', address: '4N2tz7rrbK17236DPrFx67KjXmUafUMsnsN'}])}, newUser)
} catch (error) {
expect(error.status).to.be.equal(400)
}
})
})
Loading