Skip to content

Commit

Permalink
add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
abdulajet committed Jan 26, 2022
1 parent 3ac1bb7 commit 24324e8
Show file tree
Hide file tree
Showing 10 changed files with 1,613 additions and 90 deletions.
12 changes: 12 additions & 0 deletions .mocharc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"require": [
"__tests__/init.js",
"ts-node/register",
"source-map-support/register",
"__tests__/setup.test.ts"
],
"watch-extensions": ["ts"],
"recursive": true,
"reporter": "landing",
"timeout": 5000
}
49 changes: 49 additions & 0 deletions __tests__/commands/scaffold.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import { expect, test } from '@oclif/test'

describe('scaffold:vapp', () => {
test
.stdout()
.command(['scaffold'])
.exit(2)
.it('Running scaffold does nothing')

test
.stderr()
.command(['scaffold:vapp'])
.catch(ctx => {
expect(ctx.message).to.contain('Missing required flag')
})
.it('Running scaffold:vapp without a flags fails gracefully')

test
.stderr()
.command(['scaffold:vapp', '--platforms'])
.catch(ctx => {
expect(ctx.message).to.contains('Flag --platforms expects a value')
})
.it('Running scaffold:vapp without platform value fails gracefully')

test
.stderr()
.command(['scaffold:vapp', '--backend'])
.catch(ctx => {
expect(ctx.message).to.contains('Flag --backend expects a value')
})
.it('Running scaffold:vapp without backend value fails gracefully')

test
.stderr()
.command(['scaffold:vapp', '--platforms=iOS'])
.catch(ctx => {
expect(ctx.message).to.contains('Missing required flag')
})
.it('Running scaffold:vapp without backend flag fails gracefully')

test
.stderr()
.command(['scaffold:vapp', '--backend=skip'])
.catch(ctx => {
expect(ctx.message).to.contains('Missing required flag')
})
.it('Running scaffold:vapp without platform flag fails gracefully')
});
2 changes: 2 additions & 0 deletions __tests__/init.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
const path = require('path')
process.env.TS_NODE_PROJECT = path.resolve('./__tests__/tsconfig.json')
39 changes: 39 additions & 0 deletions __tests__/setup.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { mkdir, promises as fs } from 'fs';
const os = require('os');

export const appFileData =
{
application_name: "Test App File",
application_id: '1234-5678-abcd-efgh',
private_key: "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQChMtZvvTVZltzi\nuv94cEW/McbLhiJCRvK+26o50JP4CDHtIiidrQiy1A6PdhXHXq7q+jYo9yrm9+mm\ngmYtTAtZ7ZVRDVOwuXoT71HXcFoRLedORx3Yp4J165uPO506nDvjvcURWLbLfCst\nsc2X189C31rCc4dPrmFkUoqtNWAoLsAjZJP7JfoGXR0V2mPeDwfWHqIlA+RgQ5ne\nc47CPWDxRVw9VKLre2BWX33N6iZ3fXkd/xobdTA/xjosGBz6sUIxnQSaW6YvLjZI\nJtNm5MfLehDGXXT3rmqOuxYLEHruibsrvGv/gxjnGEfa2JT38JRRU5rZCQoXeeXG\nhYm6zCExAgMBAAECggEAJUR7Fg9A18sMmzCPYplWTqsj4ibLIdaERYLEeqRRqUy/\nuiqlCDsaYTmsehdbVqH5v6KERflKxmY3cwL/u2Yy06IdXMU/fYKMCjLQkYXMlN8v\ndEX1zQKBI2EKsFUgdw3qvK7Bck63yBiXZPOP7BR9OuEnewA5nr7ajlaU8BGAfxld\n7AmCnkBUtdHNTVWm4Wzk2Uzn5BPHUQyLW/KT5/FSIfVVGodQUc+O9fegs/aNY86A\ndafnKvNKtZBT2hwnRXqNK4jTAgKGYtiT4OJ/sa6ob5gylwXYbYGz8QvEdULsnuQM\np7I0Z0q91ZQ2jggqU7DPLuVTEJEWG4VYNbeGaJYDjwKBgQDNMcsL6/OjDUc//imG\nyjuvftSzLteCiaFP+my6Lo8GCXsffKApqvEukWtD8WP2jhv1I8KuqRDfT9F1gW4V\nhhNulN72ugoEjRO2kkxK/KynAQwAsyVkAsWc3/t86kEiMg67GI7aV8fLGIlJQ1IL\nykVZyVsaQPBV5bTscj+yXTp2DwKBgQDJHF+GW11f4hKklN2kkUHIAOL/6sQEbFoV\nxm0Jb4uMS9T3Ge0AeAUbvIv3XZjTcS86fnmaaWu2w3w1R5gjZA+4W4hGAfMouBPQ\nDTMeCwEWWmpgWCW8IfowuQ0tGDQTAEXaZISOceyAxK6azMUFC6emGJ4M12Ls1iSk\nzCESy500vwKBgAckSYXjs3okVyuCBB394e/swShvY+7WLXgkJi6gujeiktd4tfZd\nTcGqLAqUVz9YmN6CXR9JIR40n/ywAY3cOcbqhYwe04RvCJWdJ+ygOL4jSjCoC5Ac\njJY2MYGagaPYDC004Jv23CxUcUrMfgmNA7bpTDNwuSy0LwTfwRnLJuK/AoGBAIRd\nFkoZzCUVaGvGRvLPX9pBKyaA366BmfEG/jDdp50ZM/vGpoROeh49RGn0wmc38Xuw\nTlzg0bIii5eNnYZ9jxMpu1FIaz/7l56xcVluqLKLo8PxgDSIsGBtC00Ixw1Seqc4\nzT3roVtHGBxudaXSe+8H+M4+3K9AajHE4Ge8d6WFAoGBAMdt51EUcp5P9qR/4sa2\npSlL8C4SQKHJVVWu/miwcEx+mSlDgr+sCQJGmxyN5Ojf0salEOWxbIMveDKdrp38\nAU0Rmg0yVs7FXAxlOBcK0BOiUf8MhPBr9+uDh6X4wr2bSxdac3vSQUGFeA9CIWH7\nSI3z3A9Lp1aRaLucxTlJGq22\n-----END PRIVATE KEY-----\n"
}

export const cliConfigData =
{
apiKey:"12345",
apiSecret:"ABCDE"
}

export const cliConfigPath = `${os.homedir()}/.config/@vonage/cli-plugin-scaffold`

export async function mochaGlobalSetup() {
try {
await fs.mkdir(cliConfigPath)
await fs.writeFile(`${cliConfigPath}/vonage.config.json`, JSON.stringify(cliConfigData, null, 2));
await fs.writeFile('vonage_app.json', JSON.stringify(appFileData, null, 2));
console.log("Temp app file created");
} catch (error) {
console.error(error)
}
}

export async function mochaGlobalTeardown() {
try {
await fs.unlink(`${os.homedir()}/.config/@vonage/cli-plugin-scaffold/vonage.config.json`);
await fs.rmdir(cliConfigPath);
await fs.unlink('vonage_app.json');
console.log("Temp app file deleted");
} catch (error) {
console.error(error)
}
}
11 changes: 11 additions & 0 deletions __tests__/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"declaration": false,
"extends": "../tsconfig",
"compilerOptions": {
"sourceMap": true
},
"include": [
"./**/*",
"../src/**/*"
]
}
Loading

0 comments on commit 24324e8

Please sign in to comment.