Closed Eoksni closed 7 years ago
У меня эти тесты фейлятся вот так:
npm run test-unit -s
Тест БД 0
1) при попытке достать объект из несуществующей базы данных отклоняет обещание
2) при попытке достать объект из несуществующей коллекции отклоняет обещание
√ добавляет объект в БД
√ записывает 2 одинаковых объекта в базу, и полученные id будут различны
√ добавляет переменную в БД несколько раз, только если её значение будет переприсвоено
√ записывает объект в базу, и считывает его по полученному id
√ получает все объекты из БД
√ сохраняет данные в БД, и они остаются неизменны, если изменяется состояние исходного объекта
√ удаляет объект из БД
√ удаляет все объекты из БД
√ получает объекты конкретного типа
√ получает записанный объект через getAll
√ получает все объекты, меняет один из них, получает их заново и проверяет что они не изменились
Тест БД 1
√ при попытке достать объект из несуществующей базы данных отклоняет обещание
3) при попытке достать объект из несуществующей коллекции отклоняет обещание
√ добавляет объект в БД
√ записывает 2 одинаковых объекта в базу, и полученные id будут различны
√ добавляет переменную в БД несколько раз, только если её значение будет переприсвоено
√ записывает объект в базу, и считывает его по полученному id
√ получает все объекты из БД
√ сохраняет данные в БД, и они остаются неизменны, если изменяется состояние исходного объекта
√ удаляет объект из БД
√ удаляет все объекты из БД
√ получает объекты конкретного типа
√ получает записанный объект через getAll
√ получает все объекты, меняет один из них, получает их заново и проверяет что они не изменились
Тест для кладовки
√ сохраняет предмет в кладовке
√ получает предмет из кладовки
√ получает все предметы из кладовки
√ удаляет конкретный предмет
√ удаляет все предметы из кладовки
√ возвращает худший предмет из кладовки
Сравнение предметов
√ #первый предмет лучше
√ #второй предмет лучше
√ #предметы равны
Предмет нужен
√ #да
√ #нет
34 passing (136ms)
3 failing
1) Тест БД 0 при попытке достать объект из несуществующей базы данных отклоняет обещание:
AssertionError [ERR_ASSERTION]: false == true
+ expected - actual
-false
+true
at Context.<anonymous> (test\db.async.test.js:25:17)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:169:7)
2) Тест БД 0 при попытке достать объект из несуществующей коллекции отклоняет обещание:
AssertionError [ERR_ASSERTION]: false == true
+ expected - actual
-false
+true
at Context.<anonymous> (test\db.async.test.js:39:13)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:169:7)
3) Тест БД 1 при попытке достать объект из несуществующей коллекции отклоняет обещание:
AssertionError [ERR_ASSERTION]: false == true
+ expected - actual
-false
+true
at Context.<anonymous> (test\db.async.test.js:36:17)
at <anonymous>
начинаю недолюбливать опенсорсы
что не так с опенсорсами? )
лазиють всякие, тесты провальные пишут
Ваще-то в ответ на баг принято писать "Thank you for reporting this issue" :)
но не в России х)
на 1й тест в контексте mongo просто вылазит обычная ошибка, err.message : cannot read property 'collection' of undefined
у memory же срабатывает reject, и я не хочу от него отказываться, ведь вся эта async.db конспект по промисам
и даже если убрать reject , будет err.message : cannot read property 'COLL' of undefined
и все равно будет фейлиться ассерт на err.message
Тест БД 0 при попытке достать объект из несуществующей коллекции отклоняет обещание
монго создает коллекции на лету и не должно быть отказа от обещания но в мемори был недочет, поправил
не вижу, где поправил?
я уже сто раз повторял про консистентность апи, но повторю еще раз - ошибки должны быть одни и те же. Если ты в мемори базе возвращаешь "нет базы данных", то же самое ты должен делать и в монго.
ок, а чего тесты то не пофиксил
При попытке получить предмет из несуществующей базы или несуществующей коллекции программа ведет себя не так, как заявлено в документации. Я добавил пару тестов, иллюстрирующих неполадку. Надо пофиксить. (Лучше фиксить прям в этой ветке NonExistingDbOrColl, когда закончим - смержим его в KeepAliveConnection).