Skip to content

Commit

Permalink
meta: update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
lohart13 committed Feb 12, 2024
1 parent b2d7846 commit 7225cdd
Show file tree
Hide file tree
Showing 11 changed files with 444 additions and 743 deletions.
13 changes: 6 additions & 7 deletions packages/core/test/integration/model/update.test.ts
Expand Up @@ -274,7 +274,7 @@ describe('Model.update', () => {
}
});

if (dialect.supports['LIMIT ON UPDATE']) {
if (dialect.supports.update.limit || dialect.supports.update.modelWithLimit) {
it('supports limit clause', async () => {
const { User } = vars;

Expand Down Expand Up @@ -426,12 +426,11 @@ describe('Model.update', () => {

expectsql(sqlQuery, {
default: `UPDATE [users1] SET [secretValue]=$sequelize_1,[updatedAt]=$sequelize_2 WHERE [id] = $sequelize_3`,
postgres: `UPDATE "users1" SET "secretValue"=$1,"updatedAt"=$2 WHERE "id" = $3 RETURNING *`,
mysql: 'UPDATE `users1` SET `secretValue`=?,`updatedAt`=? WHERE `id` = ?',
mariadb: 'UPDATE `users1` SET `secretValue`=?,`updatedAt`=? WHERE `id` = ?',
mssql: `UPDATE [users1] SET [secretValue]=@sequelize_1,[updatedAt]=@sequelize_2 OUTPUT INSERTED.* WHERE [id] = @sequelize_3`,
db2: `SELECT * FROM FINAL TABLE (UPDATE "users1" SET "secretValue"=?,"updatedAt"=? WHERE "id" = ?);`,
ibmi: `UPDATE "users1" SET "secretValue"=?,"updatedAt"=? WHERE "id" = ?;`,
mssql: `UPDATE [users1] SET [secretValue]=@sequelize_1,[updatedAt]=@sequelize_2 OUTPUT INSERTED.[id], INSERTED.[username], INSERTED.[secretValue], INSERTED.[createdAt], INSERTED.[updatedAt], INSERTED.[deletedAt] WHERE [id] = @sequelize_3`,
sqlite: 'UPDATE `users1` SET `secretValue`=$sequelize_1,`updatedAt`=$sequelize_2 WHERE `id` = $sequelize_3 RETURNING `id`, `username`, `secretValue`, `createdAt`, `updatedAt`, `deletedAt`',
postgres: `UPDATE "users1" SET "secretValue"=$1,"updatedAt"=$2 WHERE "id" = $3 RETURNING "id", "username", "secretValue", "createdAt", "updatedAt", "deletedAt"`,
'db2 ibmi': `SELECT "id", "username", "secretValue", "createdAt", "updatedAt", "deletedAt" FROM FINAL TABLE (UPDATE "users1" SET "secretValue"=?,"updatedAt"=? WHERE "id" = ?)`,
'mariadb mysql': 'UPDATE `users1` SET `secretValue`=?,`updatedAt`=? WHERE `id` = ?',
});
},
returning: [sql.col('*')],
Expand Down
58 changes: 0 additions & 58 deletions packages/core/test/unit/dialects/db2/query-generator.test.js
Expand Up @@ -300,64 +300,6 @@ if (dialect === 'db2') {
expectation: 'INSERT INTO "myTable" ("name") VALUES (\'foo\'),(\'bar\');',
},
],

updateQuery: [
{
arguments: ['myTable', { bar: 2 }, { name: 'foo' }],
expectation: {
query: 'SELECT * FROM FINAL TABLE (UPDATE "myTable" SET "bar"=$sequelize_1 WHERE "name" = $sequelize_2);',
bind: { sequelize_1: 2, sequelize_2: 'foo' },
},
}, {
arguments: ['myTable', { name: 'foo\';DROP TABLE myTable;' }, { name: 'foo' }],
expectation: {
query: 'SELECT * FROM FINAL TABLE (UPDATE "myTable" SET "name"=$sequelize_1 WHERE "name" = $sequelize_2);',
bind: { sequelize_1: 'foo\';DROP TABLE myTable;', sequelize_2: 'foo' },
},
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'SELECT * FROM FINAL TABLE (UPDATE "myTable" SET "bar"=$sequelize_1,"nullValue"=$sequelize_2 WHERE "name" = $sequelize_3);',
bind: { sequelize_1: 2, sequelize_2: null, sequelize_3: 'foo' },
},
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'SELECT * FROM FINAL TABLE (UPDATE "myTable" SET "bar"=$sequelize_1,"nullValue"=$sequelize_2 WHERE "name" = $sequelize_3);',
bind: { sequelize_1: 2, sequelize_2: null, sequelize_3: 'foo' },
},
context: { options: { omitNull: false } },
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'SELECT * FROM FINAL TABLE (UPDATE "myTable" SET "bar"=$sequelize_1 WHERE "name" = $sequelize_2);',
bind: { sequelize_1: 2, sequelize_2: 'foo' },
},
context: { options: { omitNull: true } },
}, {
arguments: ['myTable', function (sequelize) {
return {
bar: sequelize.fn('NOW'),
};
}, { name: 'foo' }],
expectation: {
query: 'SELECT * FROM FINAL TABLE (UPDATE "myTable" SET "bar"=NOW() WHERE "name" = $sequelize_1);',
bind: { sequelize_1: 'foo' },
},
needsSequelize: true,
}, {
arguments: ['myTable', function (sequelize) {
return {
bar: sequelize.col('foo'),
};
}, { name: 'foo' }],
expectation: {
query: 'SELECT * FROM FINAL TABLE (UPDATE "myTable" SET "bar"="foo" WHERE "name" = $sequelize_1);',
bind: { sequelize_1: 'foo' },
},
needsSequelize: true,
},
],
};

each(suites, (tests, suiteTitle) => {
Expand Down
58 changes: 0 additions & 58 deletions packages/core/test/unit/dialects/mariadb/query-generator.test.js
Expand Up @@ -312,64 +312,6 @@ if (dialect === 'mariadb') {
expectation: 'INSERT INTO `myTable` (`name`) VALUES (\'foo\'),(\'bar\') ON DUPLICATE KEY UPDATE `name`=VALUES(`name`);',
},
],

updateQuery: [
{
arguments: ['myTable', { bar: 2 }, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `bar`=$sequelize_1 WHERE `name` = $sequelize_2',
bind: { sequelize_1: 2, sequelize_2: 'foo' },
},
}, {
arguments: ['myTable', { name: 'foo\';DROP TABLE myTable;' }, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `name`=$sequelize_1 WHERE `name` = $sequelize_2',
bind: { sequelize_1: 'foo\';DROP TABLE myTable;', sequelize_2: 'foo' },
},
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `bar`=$sequelize_1,`nullValue`=$sequelize_2 WHERE `name` = $sequelize_3',
bind: { sequelize_1: 2, sequelize_2: null, sequelize_3: 'foo' },
},
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `bar`=$sequelize_1,`nullValue`=$sequelize_2 WHERE `name` = $sequelize_3',
bind: { sequelize_1: 2, sequelize_2: null, sequelize_3: 'foo' },
},
context: { options: { omitNull: false } },
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `bar`=$sequelize_1 WHERE `name` = $sequelize_2',
bind: { sequelize_1: 2, sequelize_2: 'foo' },
},
context: { options: { omitNull: true } },
}, {
arguments: ['myTable', function (sequelize) {
return {
bar: sequelize.fn('NOW'),
};
}, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `bar`=NOW() WHERE `name` = $sequelize_1',
bind: { sequelize_1: 'foo' },
},
needsSequelize: true,
}, {
arguments: ['myTable', function (sequelize) {
return {
bar: sequelize.col('foo'),
};
}, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `bar`=`foo` WHERE `name` = $sequelize_1',
bind: { sequelize_1: 'foo' },
},
needsSequelize: true,
},
],
};

each(suites, (tests, suiteTitle) => {
Expand Down
58 changes: 0 additions & 58 deletions packages/core/test/unit/dialects/mysql/query-generator.test.js
Expand Up @@ -311,64 +311,6 @@ if (dialect === 'mysql') {
expectation: 'INSERT INTO `myTable` (`name`) VALUES (\'foo\'),(\'bar\') ON DUPLICATE KEY UPDATE `name`=VALUES(`name`);',
},
],

updateQuery: [
{
arguments: ['myTable', { bar: 2 }, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `bar`=$sequelize_1 WHERE `name` = $sequelize_2',
bind: { sequelize_1: 2, sequelize_2: 'foo' },
},
}, {
arguments: ['myTable', { name: 'foo\';DROP TABLE myTable;' }, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `name`=$sequelize_1 WHERE `name` = $sequelize_2',
bind: { sequelize_1: 'foo\';DROP TABLE myTable;', sequelize_2: 'foo' },
},
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `bar`=$sequelize_1,`nullValue`=$sequelize_2 WHERE `name` = $sequelize_3',
bind: { sequelize_1: 2, sequelize_2: null, sequelize_3: 'foo' },
},
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `bar`=$sequelize_1,`nullValue`=$sequelize_2 WHERE `name` = $sequelize_3',
bind: { sequelize_1: 2, sequelize_2: null, sequelize_3: 'foo' },
},
context: { options: { omitNull: false } },
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `bar`=$sequelize_1 WHERE `name` = $sequelize_2',
bind: { sequelize_1: 2, sequelize_2: 'foo' },
},
context: { options: { omitNull: true } },
}, {
arguments: ['myTable', function (sequelize) {
return {
bar: sequelize.fn('NOW'),
};
}, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `bar`=NOW() WHERE `name` = $sequelize_1',
bind: { sequelize_1: 'foo' },
},
needsSequelize: true,
}, {
arguments: ['myTable', function (sequelize) {
return {
bar: sequelize.col('foo'),
};
}, { name: 'foo' }],
expectation: {
query: 'UPDATE `myTable` SET `bar`=`foo` WHERE `name` = $sequelize_1',
bind: { sequelize_1: 'foo' },
},
needsSequelize: true,
},
],
};

each(suites, (tests, suiteTitle) => {
Expand Down
129 changes: 0 additions & 129 deletions packages/core/test/unit/dialects/postgres/query-generator.test.js
Expand Up @@ -527,135 +527,6 @@ if (dialect.startsWith('postgres')) {
},
],

updateQuery: [
{
arguments: ['myTable', { bar: 2 }, { name: 'foo' }],
expectation: {
query: 'UPDATE "myTable" SET "bar"=$sequelize_1 WHERE "name" = $sequelize_2',
bind: { sequelize_1: 2, sequelize_2: 'foo' },
},
}, {
arguments: ['myTable', { bar: 2 }, { name: 'foo' }, { returning: true }],
expectation: {
query: 'UPDATE "myTable" SET "bar"=$sequelize_1 WHERE "name" = $sequelize_2 RETURNING *',
bind: { sequelize_1: 2, sequelize_2: 'foo' },
},
}, {
arguments: ['myTable', { name: 'foo\';DROP TABLE myTable;' }, { name: 'foo' }],
expectation: {
query: 'UPDATE "myTable" SET "name"=$sequelize_1 WHERE "name" = $sequelize_2',
bind: { sequelize_1: 'foo\';DROP TABLE myTable;', sequelize_2: 'foo' },
},
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'UPDATE "myTable" SET "bar"=$sequelize_1,"nullValue"=$sequelize_2 WHERE "name" = $sequelize_3',
bind: { sequelize_1: 2, sequelize_2: null, sequelize_3: 'foo' },
},
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'UPDATE "myTable" SET "bar"=$sequelize_1,"nullValue"=$sequelize_2 WHERE "name" = $sequelize_3',
bind: { sequelize_1: 2, sequelize_2: null, sequelize_3: 'foo' },
},
context: { options: { omitNull: false } },
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'UPDATE "myTable" SET "bar"=$sequelize_1 WHERE "name" = $sequelize_2',
bind: { sequelize_1: 2, sequelize_2: 'foo' },
},
context: { options: { omitNull: true } },
}, {
arguments: ['myTable', { bar: 2, nullValue: undefined }, { name: 'foo' }],
expectation: {
query: 'UPDATE "myTable" SET "bar"=$sequelize_1 WHERE "name" = $sequelize_2',
bind: { sequelize_1: 2, sequelize_2: 'foo' },
},
context: { options: { omitNull: true } },
}, {
arguments: [{ tableName: 'myTable', schema: 'mySchema' }, { name: 'foo\';DROP TABLE mySchema.myTable;' }, { name: 'foo' }],
expectation: {
query: 'UPDATE "mySchema"."myTable" SET "name"=$sequelize_1 WHERE "name" = $sequelize_2',
bind: { sequelize_1: 'foo\';DROP TABLE mySchema.myTable;', sequelize_2: 'foo' },
},
}, {
arguments: ['myTable', function (sequelize) {
return {
bar: sequelize.fn('NOW'),
};
}, { name: 'foo' }],
expectation: {
query: 'UPDATE "myTable" SET "bar"=NOW() WHERE "name" = $sequelize_1',
bind: { sequelize_1: 'foo' },
},
needsSequelize: true,
}, {
arguments: ['myTable', function (sequelize) {
return {
bar: sequelize.col('foo'),
};
}, { name: 'foo' }],
expectation: {
query: 'UPDATE "myTable" SET "bar"="foo" WHERE "name" = $sequelize_1',
bind: { sequelize_1: 'foo' },
},
needsSequelize: true,
},

// Variants when quoteIdentifiers is false
{
arguments: ['myTable', { bar: 2 }, { name: 'foo' }],
expectation: {
query: 'UPDATE myTable SET bar=$sequelize_1 WHERE name = $sequelize_2',
bind: { sequelize_1: 2, sequelize_2: 'foo' },
},
context: { options: { quoteIdentifiers: false } },
}, {
arguments: ['myTable', { name: 'foo\';DROP TABLE myTable;' }, { name: 'foo' }],
expectation: {
query: 'UPDATE myTable SET name=$sequelize_1 WHERE name = $sequelize_2',
bind: { sequelize_1: 'foo\';DROP TABLE myTable;', sequelize_2: 'foo' },
},
context: { options: { quoteIdentifiers: false } },
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'UPDATE myTable SET bar=$sequelize_1,nullValue=$sequelize_2 WHERE name = $sequelize_3',
bind: { sequelize_1: 2, sequelize_2: null, sequelize_3: 'foo' },
},
context: { options: { quoteIdentifiers: false } },
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'UPDATE myTable SET bar=$sequelize_1,nullValue=$sequelize_2 WHERE name = $sequelize_3',
bind: { sequelize_1: 2, sequelize_2: null, sequelize_3: 'foo' },
},
context: { options: { omitNull: false, quoteIdentifiers: false } },
}, {
arguments: ['myTable', { bar: 2, nullValue: null }, { name: 'foo' }],
expectation: {
query: 'UPDATE myTable SET bar=$sequelize_1 WHERE name = $sequelize_2',
bind: { sequelize_1: 2, sequelize_2: 'foo' },
},
context: { options: { omitNull: true, quoteIdentifiers: false } },
}, {
arguments: ['myTable', { bar: 2, nullValue: undefined }, { name: 'foo' }],
expectation: {
query: 'UPDATE myTable SET bar=$sequelize_1 WHERE name = $sequelize_2',
bind: { sequelize_1: 2, sequelize_2: 'foo' },
},
context: { options: { omitNull: true, quoteIdentifiers: false } },
}, {
arguments: [{ schema: 'mySchema', tableName: 'myTable' }, { name: 'foo\';DROP TABLE mySchema.myTable;' }, { name: 'foo' }],
expectation: {
query: 'UPDATE mySchema.myTable SET name=$sequelize_1 WHERE name = $sequelize_2',
bind: { sequelize_1: 'foo\';DROP TABLE mySchema.myTable;', sequelize_2: 'foo' },
},
context: { options: { quoteIdentifiers: false } },
},
],

startTransactionQuery: [
{
arguments: [{}],
Expand Down

0 comments on commit 7225cdd

Please sign in to comment.