mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-19 08:31:43 +03:00
b2659d0cbb
refs #6301 Fixtures: - Removed all the old (and now broken) 003 fixture upgrades - Split the 004 fixture upgrade tasks out, each into their own file - Improved the versioning code that figured out which upgrades we should do - Added lots of test coverage to make sure all the fixtures are still being run correctly. Permissions fixtures: - Changed the code that was populating permissions fixtures to be more automated & based only on what is in the permissions.json file. - Added lots of test coverage to make sure all the permissions are still being created correctly. Merging the two things: - Merged the content of permissions.json and fixtures.json into fixtures.json, but using the new structure from permissions.json. - Changed to use the new automated model & relation creation for all fixtures, not just permissions. - The only thing that can't be auto-populated just now is the owner creation, I think that's important enough to do separately. - There were (so far) never any permission updates, so code for updating fixtures stays the same through the merge. - This results in two clear code paths: populate (fill out a brand new DB) and update (make any changes since the last version) Test coverage is now 100% across both updates and populations.
15 lines
380 B
JavaScript
15 lines
380 B
JavaScript
var Promise = require('bluebird');
|
|
|
|
function sequence(tasks /* Any Arguments */) {
|
|
var args = Array.prototype.slice.call(arguments, 1);
|
|
return Promise.reduce(tasks, function (results, task) {
|
|
return task.apply(this, args).then(function (result) {
|
|
results.push(result);
|
|
|
|
return results;
|
|
});
|
|
}, []);
|
|
}
|
|
|
|
module.exports = sequence;
|