+ add the tests to support any configs format on plugin-base

This commit is contained in:
Riceball LEE 2017-09-13 12:50:06 +08:00
parent fa45ce947d
commit 84599d932d
10 changed files with 42 additions and 2 deletions

5
test/fixtures/coffee-app-2/app.coffee vendored Normal file
View File

@ -0,0 +1,5 @@
loopback = require 'loopback'
boot = require '../../../'
module.exports = client = loopback()
boot(client, __dirname)

View File

@ -0,0 +1,2 @@
module.exports = (app) ->
app.set 'custom-key', 'custom-value'

View File

@ -0,0 +1,2 @@
debug:
option: "value"

View File

@ -0,0 +1,2 @@
db:
connector: "remote"

View File

@ -0,0 +1,4 @@
Customer:
dataSource: "db"
Order:
dataSource: "db"

View File

@ -0,0 +1,3 @@
module.exports = (Customer) ->
Customer.settings._customized = 'Customer'
Customer.base.settings._customized = 'Base'

View File

@ -0,0 +1,4 @@
{
"name": "Customer",
"base": "User"
}

View File

@ -0,0 +1,3 @@
module.exports = (Model) ->
Model.settings._customized = 'Order'
Model.base.settings._customized = 'Base'

View File

@ -0,0 +1 @@
name: "Order"

View File

@ -7,7 +7,7 @@ var boot = require('../');
var fs = require('fs-extra');
var path = require('path');
var expect = require('chai').expect;
var loadConfig = require('load-config-file');
var loadConfig = require('../lib/load-config');
var yaml = require('js-yaml');
loadConfig.register(['.yaml', '.yml'], yaml.safeLoad);
@ -15,7 +15,7 @@ loadConfig.register(['.yaml', '.yml'], yaml.safeLoad);
// add coffee-script to require.extensions
require('coffee-script/register');
var COFFEE_APP = path.join(__dirname, 'fixtures', 'coffee-app');
var COFFEE_APP = path.join(__dirname, 'fixtures', 'coffee-app-2');
describe('compiler', function() {
function getModelByName(aModels, aName) {
@ -35,6 +35,20 @@ describe('compiler', function() {
done();
});
});
it('loads component-config.yaml file', function(done) {
boot.compile(COFFEE_APP, function(err, context) {
if (err) return done(err);
var instructions = context.instructions;
var component = instructions.components[0];
expect(component).to.eql({
sourceFile: require.resolve('debug'),
config: {
option: 'value',
},
});
done();
});
});
});
});