Skip to content

Commit

Permalink
Merge pull request #6 from form8ion/alpha
Browse files Browse the repository at this point in the history
  • Loading branch information
travi authored Oct 23, 2020
2 parents 1d1ce13 + 179e189 commit 1904d5c
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 6 deletions.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ opinionated scaffolder for testing web-based projects against
* [Usage](#usage)
* [Installation](#installation)
* [Example](#example)
* [Import](#import)
* [Execute](#execute)
* [Contributing](#contributing)
* [Dependencies](#dependencies)
* [Verification](#verification)
Expand Down Expand Up @@ -47,7 +49,7 @@ import {scaffold} from '@form8ion/is-website-vulnerable';

```javascript
(async () => {
await scaffold({projectRoot: process.cwd()});
await scaffold({baseUrl: 'http://localhost:9876'});
})();
```

Expand Down
2 changes: 1 addition & 1 deletion example.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ stubbedFs();
// #### Execute

(async () => {
await scaffold({projectRoot: process.cwd()});
await scaffold({baseUrl: 'http://localhost:9876'});
})();
9 changes: 8 additions & 1 deletion src/scaffolder-test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
import {assert} from 'chai';
import any from '@travi/any';
import scaffold from './scaffolder';

suite('scaffolder', () => {
test('that `is-website-vulnerable` is enabled', async () => {
await scaffold();
const baseUrl = any.url();

const {devDependencies, scripts} = await scaffold({baseUrl});

assert.deepEqual(devDependencies, ['is-website-vulnerable']);
assert.deepEqual(scripts, {'test:served:vulnerable': `is-website-vulnerable ${baseUrl}`});
});
});
7 changes: 5 additions & 2 deletions src/scaffolder.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
export default function () {

export default function ({baseUrl}) {
return {
devDependencies: ['is-website-vulnerable'],
scripts: {'test:served:vulnerable': `is-website-vulnerable ${baseUrl}`}
};
}
1 change: 1 addition & 0 deletions test/integration/features/scaffolder.feature
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ Feature: Scaffolder

Scenario: Scaffold
When the project is scaffolded
Then is-website-vulnerable is enabled
4 changes: 3 additions & 1 deletion test/integration/features/step_definitions/common-steps.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import {resolve} from 'path';
import {After, When} from '@cucumber/cucumber';
import any from '@travi/any';
import stubbedFs from 'mock-fs';

const stubbedNodeModules = stubbedFs.load(resolve(__dirname, '..', '..', '..', '..', 'node_modules'));
Expand All @@ -12,10 +13,11 @@ When('the project is scaffolded', async function () {
// eslint-disable-next-line import/no-extraneous-dependencies,import/no-unresolved
const scaffolder = require('@form8ion/is-website-vulnerable');
const {scaffold} = scaffolder;
this.baseUrl = any.url();

stubbedFs({
node_modules: stubbedNodeModules
});

await scaffold();
this.results = await scaffold({baseUrl: this.baseUrl});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import {Then} from '@cucumber/cucumber';
import {assert} from 'chai';

Then('is-website-vulnerable is enabled', async function () {
const {devDependencies, scripts} = this.results;

assert.deepEqual(devDependencies, ['is-website-vulnerable']);
assert.deepEqual(scripts, {'test:served:vulnerable': `is-website-vulnerable ${this.baseUrl}`});
});

0 comments on commit 1904d5c

Please sign in to comment.