123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- 'use strict';
- const Support = require('../../support');
- const dialect = Support.getTestDialect();
- const { DataTypes } = require('@sequelize/core');
- const dayjs = require('dayjs');
- if (dialect === 'snowflake') {
- describe('[SNOWFLAKE Specific] Smoke test', () => {
- describe('[SNOWFLAKE Specific] Basic test for one table', () => {
- let User;
- before(async () => {
- const sequelize = Support.createSequelizeInstance();
- User = sequelize.define('User', {
- username: DataTypes.STRING,
- lastActivity: {
- type: DataTypes.DATE,
- get() {
- const value = this.getDataValue('lastActivity');
- return value ? value.valueOf() : 0;
- },
- },
- });
- await User.sync({ force: true });
- await User.create({
- id: 1,
- username: 'jozef',
- lastActivity: new Date(Date.UTC(2021, 5, 21)),
- });
- await User.create({
- id: 2,
- username: 'jeff',
- lastActivity: dayjs(Date.UTC(2021, 5, 22)).format('YYYY-MM-DD HH:mm:ss Z'),
- });
- });
- after(async () => {
- await User.drop();
- });
- it('findOne with where', async () => {
- const user = await User.findOne({
- where: {
- username: 'jeff',
- },
- });
- user.id.should.equal(2);
- });
- it('findOne with date attribute', async () => {
- const user = await User.findOne({
- where: {
- username: 'jeff',
- },
- });
- // user.lastActivity.should.be.equalTime(new Date(Date.UTC(2021, 5, 22)));
- user.lastActivity.should.equal(Date.UTC(2021, 5, 22));
- });
- it('findAll with orderby', async () => {
- const username = 'test';
- await User.create({ id: 3, username });
- const users = await User.findAll({
- order: [['createdAt', 'ASC']],
- });
- await users.at(-1).username.should.equal(username);
- });
- it('Update', async () => {
- const res = await User.update(
- { username: 'jozef1' },
- {
- where: {
- id: 1,
- },
- },
- );
- // https://github.com/sequelize/sequelize/issues/7184
- await res[0].should.equal(1);
- });
- });
- describe('[SNOWFLAKE Specific] Test for auto_increment', () => {
- const vars = Support.beforeAll2(async () => {
- const sequelize = Support.createSequelizeInstance();
- const Task = sequelize.define('Task', {
- id: {
- type: 'INTEGER',
- primaryKey: true,
- autoIncrement: true,
- },
- taskName: DataTypes.STRING,
- });
- await Task.sync({ force: true });
- await Task.create({ taskName: 'task1' });
- await Task.create({ taskName: 'task2' });
- return { sequelize, Task };
- });
- after(async () => {
- await vars.sequelize.close();
- });
- it('findOne with where', async () => {
- const user = await vars.Task.findOne({
- where: {
- taskName: 'task2',
- },
- });
- user.id.should.equal(2);
- });
- });
- });
- }
|