1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | 'use strict';
|
7 |
|
8 | const should = require('./init.js');
|
9 |
|
10 | const jdb = require('../');
|
11 | const DataSource = jdb.DataSource;
|
12 |
|
13 | let ds, Item, Variant;
|
14 | describe('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 | ;
|