test('prompts with a list of all registered generators', async () => { const promptStub = sinon.stub(inquirer, 'prompt') .returns(Promise.resolve({foo: 'TEST'})); try { await polymerInit.promptGeneratorSelection({env: yeomanEnvMock}); } catch (error) { assert.equal(error.message, 'Template TEST not found'); } const choices = (promptStub.firstCall.args[0] as inquirer.Question[])[0].choices as inquirer.objects.ChoiceOption[]; assert.equal(choices.length, GENERATORS.length); for (const choice of choices) { const generator = GENERATORS.find( (generator) => generator.generatorName === choice.value)!; assert.isDefined(generator, `generator not found: ${choice.value}`); assert.oneOf(stripAnsi(choice.name!), [ generator.shortName, `${generator.shortName} - ${generator.description}`, ]); assert.equal(choice.value, generator.generatorName); // tslint:disable-next-line: no-any assert.equal((choice as any).short, generator.shortName); } });
response.forEach((data) => { assertPoint(data); assert.include(data.name, "Frauenkirche"); assert.strictEqual(data.city, "Dresden"); assert.isString(data.id); assertCoords(data.coords); assert.oneOf(data.type, Object.keys(dvb.POI_TYPE)); });
export function assertPoint(point: IPoint) { assertLocation(point); assert.oneOf(point.type, Object.keys(POI_TYPE)); }
.then(users => { assert.propertyVal(users[0], 'name', 'foo'); assert.oneOf(users[0].id, [ 1, 2 ]); });
.then(users => { assert.lengthOf(users, 2); assert.oneOf(users[0].name, [ 'foo', 'bar' ]); assert.oneOf(users[1].name, [ 'foo', 'bar' ]); });
.then(user => { assert.propertyVal(user, 'name', 'foo'); assert.oneOf(user.id, [ 1, 2 ]); });
.then(user => { assert.propertyVal(user, 'id', 1); assert.oneOf(user.name, [ 'foo', 'bar' ]); });
.then(users => { assert.typeOf(users[0].trackers[0].observers[0].id, 'number'); assert.oneOf(users[0].trackers[0].observers[0].id, [ 1, 2 ]); assert.oneOf(users[0].trackers[0].observers[0].name, [ 'foo', 'bar' ]); assert.property(users[0].trackers[0].observers[0], 'trackers'); });