Невозможно использовать созданную модель Sequelize в тестах Mocha - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь использовать Mocha для тестирования моих Express маршрутов, что включает создание базы данных и доступ к ней с помощью Sequelize. Например, если пользователи отправляют сообщения, я хочу иметь возможность отмечать сообщения как прочитанные. Вот начало одного из этих тестов:

it('updates read/replied information on messages', async () => {
    after(() => {
      [DELETE CREATED MESSAGE]
    })
    before(() => {
      const sender = testUsers[1]
      const activeUser = testUsers[0]
  
      return Message.create({
        content: 'blahblah',
        sender_id: sender.id,
        receiver_id: activeUser.id,
      })  
    })

    const message = await Message.findAll()

Но message - пустой массив. Я также пробовал определить message ранее с помощью let message, а затем назначить модель этой переменной message, но это тоже не сработало. Раньше я использовал метод:

describe('Routes', function () {
  let testUsers

  before(async () => {
    testUsers = await createAccounts(testData.users),
    return
  })

И я могу получить доступ к моделям testUsers во всех моих тестах. Но, похоже, я не могу сделать то же самое для блоков it.

Какой хороший способ получить доступ к вновь созданным моделям для этих типов тестов?

...