UNPKG

1.29 kBJavaScriptView Raw
1// Copyright IBM Corp. 2015,2019. All Rights Reserved.
2// Node module: loopback-datasource-juggler
3// This file is licensed under the MIT License.
4// License text available at https://opensource.org/licenses/MIT
5
6'use strict';
7
8const should = require('./init.js');
9
10const jdb = require('../');
11const DataSource = jdb.DataSource;
12
13let ds, Item, Variant;
14describe('Datasource-specific field types for foreign keys', function() {
15 before(function() {
16 ds = new DataSource('memory');
17 Item = ds.define('Item', {
18 myProp: {
19 id: true,
20 type: 'string',
21 memory: {
22 dataType: 'string',
23 },
24 },
25 });
26 Variant = ds.define('Variant', {}, {
27 relations: {
28 item: {
29 type: 'belongsTo',
30 as: 'item',
31 model: 'Item',
32 foreignKey: 'myProp',
33 },
34 },
35 });
36 });
37
38 it('should create foreign key with database-specific field type', function(done) {
39 const VariantDefinition = ds.getModelDefinition('Variant');
40 should.exist(VariantDefinition);
41 should.exist(VariantDefinition.properties.myProp.memory);
42 should.exist(VariantDefinition.properties.myProp.memory.dataType);
43 VariantDefinition.properties.myProp.memory.dataType.should.be.equal('string');
44 done();
45 });
46})
47;