38 lines
895 B
JavaScript
38 lines
895 B
JavaScript
/**
|
|
* Class representing a YAML file
|
|
* @type {[type]}
|
|
*/
|
|
module.exports = YamlFile;
|
|
|
|
var YamlDoc = require('./yaml_doc');
|
|
var clientManager = require('./client_manager');
|
|
var _ = require('../../../src/lib/utils');
|
|
var async = require('async');
|
|
|
|
function YamlFile(filename, docs) {
|
|
var file = this;
|
|
|
|
// file level skipping flag
|
|
file.skipping = false;
|
|
|
|
describe(filename, function () {
|
|
file.docs = _.map(docs, function (doc) {
|
|
doc = new YamlDoc(doc, file);
|
|
if (doc.description === 'setup') {
|
|
beforeEach(/* doc */function (done) {
|
|
async.series(_.pluck(doc._actions, 'testable'), done);
|
|
});
|
|
} else {
|
|
it(doc.description, function (done) {
|
|
async.series(_.pluck(doc._actions, 'testable'), done);
|
|
});
|
|
}
|
|
});
|
|
|
|
afterEach(/* doc */function (done) {
|
|
clientManager.get().clearEs(done);
|
|
});
|
|
});
|
|
|
|
}
|