Properly handle promise in create script (#784)

* Properly handle promise in create script

* Add regression test
This commit is contained in:
Raphael von der Grün 2019-07-17 09:52:19 +02:00 committed by GitHub
parent 997943a194
commit 1de7c38134
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 1 deletions

View File

@ -272,7 +272,7 @@ exports.create = function (project_path, config, options, events) {
// Make the package conform to Java package types
return exports.validatePackageName(package_name)
.then(function () {
exports.validateProjectName(project_name);
return exports.validateProjectName(project_name);
}).then(function () {
// Log the given values for the project
events.emit('log', 'Creating Cordova project for the Android platform:');

View File

@ -213,6 +213,17 @@ describe('create', function () {
expect(err.message).toContain('Project already exists!');
}).done(done);
});
it('should fail if validateProjectName rejects', () => {
const fakeError = new Error();
create.validateProjectName.and.callFake(() => Promise.reject(fakeError));
return create.create(project_path, config_mock, {}, events_mock).then(() => {
fail('Expected promise to be rejected');
}, err => {
expect(err).toBe(fakeError);
});
});
});
describe('happy path', function () {
it('should copy project templates from a specified custom template', function (done) {