Skip to content

Commit ca53cf0

Browse files
committed
Test for issue #4 (deliberately breaks build)
1 parent cfdd4db commit ca53cf0

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

test/common.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ var clear = () => Bluebird.all(lo.values(models).map(m => m.destroy({ truncate:
6666

6767
/* --------- Export --------- */
6868
module.exports = {
69+
Sequelize,
6970
sequelize,
7071
models: sequelize.models,
7172
sync,

test/issues/4-spec.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
2+
var Bluebird = require('bluebird');
3+
4+
var { Sequelize, sequelize, sync } = require('../common');
5+
6+
var embed = require('../../src/index')(sequelize);
7+
var helpers = embed.util.helpers;
8+
var mkIncludes = helpers.includes, mkInclude = helpers.include;
9+
10+
11+
/* --- setup --- */
12+
13+
var ModelA = sequelize.define('ModelA', {});
14+
15+
var ModelB = sequelize.define('ModelB', {
16+
valA: Sequelize.STRING,
17+
valB: Sequelize.STRING
18+
});
19+
20+
ModelA.ModelB = ModelA.hasOne(ModelB, { as: 'b', foreignKey: 'aId' });
21+
22+
var include = mkIncludes(mkInclude(ModelA.ModelB));
23+
var opts = { reload: { include } };
24+
25+
26+
/* --- tests --- */
27+
28+
describe('issue-4', () => {
29+
30+
beforeEach(sync);
31+
32+
it('should match pk despite different type', done => {
33+
ModelA.create({}).then(a =>
34+
ModelB.create({ id: 3, aId: a.id, valA: 'ayy', valB: 'bae' }).then(b =>
35+
embed.update(ModelA, { id: a.id, b: { id: '3', valA: 'ayyy' } }, include, opts)
36+
.then(result => {
37+
expect(result.b.id).toBe(b.id);
38+
expect(result.b.valA).toBe('ayyy');
39+
expect(result.b.valB).toBe('bae');
40+
done();
41+
})));
42+
});
43+
});

0 commit comments

Comments
 (0)