Testando com Jasmine Sequelize TypeError: _models2.default.count não é uma função

votos
0

Eu estou tentando testar meu banco de dados usando Jasmine. Eu estou usando PostgreSQL com Sequelize. O modelo que eu estou testando é:

fishtype.js

import { sequelize, DataTypes } from '.';

const FishType = sequelize.define(
  'FishType',
  {
    name: {
      type: DataTypes.STRING(50),
      allowNull: false,
      unique: 'fishType_unique'
    }
  }
)

FishType.associate = function ({ FishingSpot }) {
  FishType.hasMany(FishingSpot, {
    foreignKey: {
      name: 'fishingSpotId',
      allowNull: true
    },
    as: 'fishingSpots',
  })
}

export default FishType;

Meu arquivo spec.js é:

fishtype.spec.js

import FishType from '../../models';

describe('FishType', () => {
  it('should be accessed', () => {
   console.log(FishType.count())
   return FishType.count().then((count) => {
     expect(count).toEqual(0);
   });
 });
})  

Depois de iniciar o teste eu recebo o seguinte erro:

    Failures:
1) FishType should be accessed
  Message:
    TypeError: _models2.default.count is not a function
  Stack:
        at <Jasmine>
        at UserContext.<anonymous> (E:/js/fishing-app/server/spec/model/fishType.spec.js:6:26)
    at <Jasmine>
    at runCallback (timers.js:810:20)
    at tryOnImmediate (timers.js:768:5)
    at processImmediate [as _immediateCallback] (timers.js:745:5)
Publicado 20/10/2018 em 13:58
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Eu estava perdendo meu arquivo index.js na pasta modelos, e o modelo em si não era "visível" para sequelize

Respondeu 22/10/2018 em 07:00
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more