Skip to content

Commit dcef5d5

Browse files
committed
test: add tests for large numbers
1 parent 2dfdca8 commit dcef5d5

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

test/databases.test.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,10 @@ const HasManyDissociator = require('../src/services/has-many-dissociator');
124124
ownerId: { type: Sequelize.INTEGER },
125125
});
126126

127+
models.counter = sequelize.define('counter', {
128+
clicks: { type: Sequelize.BIGINT },
129+
});
130+
127131
models.address.belongsTo(models.user);
128132
models.addressWithUserAlias.belongsTo(models.user, { as: 'userAlias' });
129133
models.user.hasMany(models.address);
@@ -316,6 +320,16 @@ const HasManyDissociator = require('../src/services/has-many-dissociator');
316320
{ field: 'ownerId', type: 'Number', reference: 'owner.ownerId' },
317321
],
318322
},
323+
counter: {
324+
name: 'counter',
325+
idField: 'id',
326+
primaryKeys: ['id'],
327+
isCompositePrimary: false,
328+
fields: [
329+
{ field: 'id', type: 'Number' },
330+
{ field: 'clicks', type: 'Number' },
331+
],
332+
},
319333
},
320334
};
321335

@@ -1010,6 +1024,26 @@ const HasManyDissociator = require('../src/services/has-many-dissociator');
10101024
connectionManager.closeConnection();
10111025
}
10121026
});
1027+
1028+
it('should handle numbers over MAX_SAFE_INTEGER', async () => {
1029+
expect.assertions(1);
1030+
const { models, sequelizeOptions } = initializeSequelize();
1031+
const params = {
1032+
fields: {
1033+
counter: 'id,clicks',
1034+
},
1035+
page: { number: '1', size: '30' },
1036+
search: '9013084467599484828',
1037+
timezone: 'Europe/Paris',
1038+
};
1039+
try {
1040+
const result = await new ResourcesGetter(models.counter, sequelizeOptions, params)
1041+
.perform();
1042+
expect(result[0]).toHaveLength(1);
1043+
} finally {
1044+
connectionManager.closeConnection();
1045+
}
1046+
});
10131047
});
10141048
});
10151049

test/fixtures/db.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
[
2+
{
3+
"model": "counter",
4+
"data": {
5+
"id": 100,
6+
"clicks": 9013084467599484828
7+
}
8+
}
29
{
310
"model": "user",
411
"data": {

0 commit comments

Comments
 (0)