Skip to content
This repository has been archived by the owner on May 1, 2019. It is now read-only.

Commit

Permalink
Merge pull request #13 from jaebradley/update-args
Browse files Browse the repository at this point in the history
Update args
  • Loading branch information
jaebradley committed Jan 12, 2017
2 parents 34fe820 + bac84c4 commit 1e58b6a
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 91 deletions.
61 changes: 19 additions & 42 deletions src/cli/CliExecutor.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,55 +16,32 @@ export default class CliExecutor {
}

execute() {
program.version('0.0.1');
program.version('0.0.1')
.option('-c --city <city>')
.option('-s --state <state>')
.option('-d --datetime <datetime>')
.option('-t --type <type>')
.parse(process.argv);

let variables = Map({datetime: Constants.getDatetime()});
if (typeof program.city !== 'undefined') {
variables = variables.set('cityName', program.city);
}

if (typeof program.state !== 'undefined') {
variables = variables.set('stateCode', program.state);
}

program.option('-c', '--city [city]')
.option('-s', '--state [state]')
.option('-d', '--datetime [datetime]')
.option('-t', '--type [type]')
.action(() => this.builder.buildTable(CliExecutor.parseRawArgs(program.rawArgs)));
if (typeof program.type !== 'undefined') {
variables = variables.set('type', program.type);
}

program.parse(process.argv);
this.builder.buildTable(variables);

} catch (e) {
let disappointedEmoji = emoji.get('disappointed');
let angryEmoji = emoji.get('angry');
let rageEmoji = emoji.get('rage');
console.log(`${disappointedEmoji} ${angryEmoji} ${rageEmoji} Whoops! Unknown error. Please get mad at me here: https://github.com/jaebradley/seatgeek-cli/issues ${rageEmoji} ${angryEmoji} ${disappointedEmoji}`);
}

static parseRawArgs(args) {
let cityName = undefined;
let stateCode = undefined;
let datetime = Constants.getDatetime();
let type = undefined;
for (let i = 0; i < args.length - 1; i++) {
let arg = args[i];
let nextArg = args[i + 1];
if ((arg == '-c') || (arg == '--city')) {
cityName = nextArg;
} else if ((arg == '-s') || (arg == '--state')) {
stateCode = nextArg;
} else if ((arg == '-d') || (arg == '--datetime')) {
datetime = nextArg;
} else if ((arg == '-t') || (arg == '--type')) {
type = nextArg;
}
}

let variables = Map({datetime: datetime});
if (typeof cityName !== 'undefined') {
variables = variables.set('cityName', cityName);
}

if (typeof stateCode !== 'undefined') {
variables = variables.set('stateCode', stateCode);
}

if (typeof type !== 'undefined') {
variables = variables.set('type', type);
}

return variables;
}
}
4 changes: 1 addition & 3 deletions src/tables/builders/EventDetailsTableBuilder.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,7 @@ export default class EventDetailsTableBuilder {
colWidths: [null, 20],
});

details.forEach(function(detail) {
table.push(EventDetailsTableBuilder.buildRow(detail));
});
details.forEach(detail => table.push(EventDetailsTableBuilder.buildRow(detail)));

return table;
}
Expand Down
2 changes: 1 addition & 1 deletion src/translators/TaxonomyEmojiTranslator.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export default class TaxonomyEmojiTranslator {
static getTaxonomy(slug) {
for (let i = 0; i < Taxonomy.enumValues.length; i++) {
let taxonomy = Taxonomy.enumValues[i];
if (taxonomy.slug === slug) {
if (taxonomy.slug === slug.toLowerCase()) {
return taxonomy;
}
}
Expand Down
44 changes: 0 additions & 44 deletions test/CliExecutorTest.js

This file was deleted.

5 changes: 4 additions & 1 deletion test/EventsFetcherTest.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
'use es6';

import {Map} from 'immutable';
import moment from 'moment';

import {expect} from 'chai';

import Constants from '../src/data/Constants';
import EventsFetcher from '../src/fetcher/EventsFetcher';
import EventsSearch from '../src/data/EventsSearch';

describe('Test EventsFetcher', function() {
let futureDate = moment().add(1, 'days').format(Constants.getDatetimeFormat());
let fetcher = new EventsFetcher();
it('test event fetching', function() {
let search = Map({
cityName: 'boston',
stateCode: 'ma',
datetime: '2017-01-01T00:00:00'
datetime: futureDate
});
return fetcher.fetchEventsByPopularityOrderedByLowestPriceGoodDeals(search)
.then(events => console.log(events));
Expand Down

0 comments on commit 1e58b6a

Please sign in to comment.