diff --git a/package.json b/package.json index c6fd2f2..70b22d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wms-core", - "version": "0.21.13-rc.2", + "version": "0.21.13-rc.3", "description": "Node web application framework and toolbelt.", "repository": "https://gitlab.com/ArisuOngaku/wms-core", "author": "Alice Gaudon ", diff --git a/src/db/ModelQuery.ts b/src/db/ModelQuery.ts index ca33b07..ffaea68 100644 --- a/src/db/ModelQuery.ts +++ b/src/db/ModelQuery.ts @@ -95,7 +95,7 @@ export default class ModelQuery implements WhereFieldConsumer v.startsWith('`') ? v : `\`${v}\``).join('.'); this._sortDirection = direction; return this; } @@ -140,8 +140,9 @@ export default class ModelQuery implements WhereFieldConsumer implements WhereFieldConsumer 0) { - where = `WHERE ${this._where[0]}`; + where = ` WHERE ${this._where[0]}`; for (let i = 1; i < this._where.length; i++) { where += this._where[i].toString(false); } @@ -157,7 +158,7 @@ export default class ModelQuery implements WhereFieldConsumer implements WhereFieldConsumer implements WhereFieldConsumer { + test('order by', () => { + const query = ModelQuery.select({table: 'model'} as unknown as ModelFactory) + .sortBy('model.f2', 'ASC'); + expect(query.toString(true)).toBe('SELECT `model`.* FROM `model` ORDER BY `model`.`f2` ASC'); + }); + test('update', () => { const query = ModelQuery.update({table: 'model'} as unknown as ModelFactory, { 'f1': 'v1', 'f2': 'v2', 'f3': 'v3', }).where('f4', 'v4'); - expect(query.toString(true)).toBe('UPDATE `model` SET `model`.`f1`=?,`model`.`f2`=?,`model`.`f3`=? WHERE `f4`=? '); + expect(query.toString(true)).toBe('UPDATE `model` SET `model`.`f1`=?,`model`.`f2`=?,`model`.`f3`=? WHERE `f4`=?'); expect(query.variables).toStrictEqual(['v1','v2','v3','v4']); }); test('function select', () => { const query = ModelQuery.select({table: 'model'} as unknown as ModelFactory, 'f1', new SelectFieldValue('_count', 'COUNT(*)', true)); - expect(query.toString(true)).toBe('SELECT `model`.`f1`,(COUNT(*)) AS `_count` FROM `model` '); + expect(query.toString(true)).toBe('SELECT `model`.`f1`,(COUNT(*)) AS `_count` FROM `model`'); expect(query.variables).toStrictEqual([]); }); @@ -23,7 +29,7 @@ describe('Test ModelQuery', () => { const query = ModelQuery.select({table: 'model'} as unknown as ModelFactory, 'f1'); query.pivot('pivot.f2', 'f3'); - expect(query.toString(true)).toBe('SELECT `model`.`f1`,`pivot`.`f2`,`model`.`f3` FROM `model` '); + expect(query.toString(true)).toBe('SELECT `model`.`f1`,`pivot`.`f2`,`model`.`f3` FROM `model`'); expect(query.variables).toStrictEqual([]); }); @@ -34,7 +40,7 @@ describe('Test ModelQuery', () => { .groupWhere(q => q.where('f4', 'v4'), WhereOperator.OR)) .where('f5', 'v5'); - expect(query.toString(true)).toBe('SELECT `model`.* FROM `model` WHERE `f1`=? AND (`f2`=? AND `f3`=? OR (`f4`=?)) AND `f5`=? '); + expect(query.toString(true)).toBe('SELECT `model`.* FROM `model` WHERE `f1`=? AND (`f2`=? AND `f3`=? OR (`f4`=?)) AND `f5`=?'); expect(query.variables).toStrictEqual(['v1','v2','v3','v4','v5']); });