Browse Source

take on all options

fix-broken-scrape
Jørgen Lien Sellæg 6 years ago
parent
commit
cb91cfb1ca
  1. 11
      src/logic.js
  2. 15
      tests/logic.test.js

11
src/logic.js

@ -1,4 +1,4 @@
const { pathOr, hasPath } = require('ramda');
const { pathOr, hasPath, props } = require('ramda');
const parseArgs = require('minimist');
const process = require('process');
@ -8,6 +8,13 @@ const page_url = (page_id) => `https://www.facebook.com/${page_id}`;
const page_events_url = (page_id) => page_url(page_id) + '/events/';
const parse_output = (argv) => {
const [res = null] = props(['output', 'o'], argv).filter(
(item) => item !== undefined,
);
return res;
};
export const parse_args = (args) => {
const argv = parseArgs(args);
@ -26,6 +33,7 @@ export const parse_args = (args) => {
.map(page_id_to_page_events_url);
const events = pathOr(null, ['events'], argv);
const output = parse_output(argv);
return {
page_ids: [
@ -34,5 +42,6 @@ export const parse_args = (args) => {
...parse_param('pages'),
],
events,
output,
};
};

15
tests/logic.test.js

@ -38,4 +38,19 @@ describe('test parse args', () => {
const res = parse_args(['']);
expect(res.events).toEqual(null);
});
it('sets output to null if no option is passed', () => {
const res = parse_args(['']);
expect(res.output).toEqual(null);
});
it('passes output if it is set with --output', () => {
const res = parse_args(['--output=jacobi']);
expect(res.output).toEqual('jacobi');
});
it('passes output if it is set with -o', () => {
const res = parse_args(['-o', 'jacobi']);
expect(res.output).toEqual('jacobi');
});
});

Loading…
Cancel
Save