Skip to content

Тестовое задание для позиции разработчика на NodeJS для компании Aggregion

Notifications You must be signed in to change notification settings

zbitname/nodejs-agg-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Предисловие

В текущем репозитории серверное приложение (REST API), в котором реализована работа с тремя моделями Item, SubItem и SubSubItem. Необходимо сделать так, чтобы проходились имеющиеся тесты. Для успешного выполнения задания вам разрешено редактировать только модели, контроллеры и рутинги (**/*.model.js, **/*.controller.js и **/index.js файлы соответственно).

Как пользоваться:

git clone https://github.com/zbitname/nodejs-agg-test.git
cd nodejs-agg-test
npm install
# Решаете задачу
gulp test
# Если тесты проходятся без ошибок, то пакуете директорию и присылаете нам
tar cvzf nodejs-agg-test-resolved.tar.gz *
# Отправляете получившийся архив по адресу denis.bezrukov@e-azbuka.ru

Задачи:

  1. Ответ сервера на любой метод должен возвращать id вместо _id и нельзя, чтобы в ответ попал SubItem.secret. При решении этой задачи по возможности не использовать циклы в контроллерах и моделях.

  2. Есть 3 модели: Item, SubItem и SubSubItem. Между ними есть зависимости: SubItem <- Item и SubSubItem <- (Item, SubItem). Задача, построить один запрос к СУБД таким образом, чтобы была следующая схема ответа:

[
  {
    "qty": 20,
    "item": "5576ab596e2d2d61a0e01d0e",
    "subItems": [
      {
        "subItem": "5576aba1d1ba899ea0cfcf55",
        "qty": 1
      }
    ]
  }
]

Где:

  • item = Item._id
  • qty = количество объектов в коллекции SubSubItems, которые относятся к набору (Item, SubItem)
  • subItems = набор моделей SubItem, которые относятся к одной модели Item.
  • subItems.subItem = SubItem._id
  • subItems.qty = количество объектов в коллекции SubSubItems, которые относятся к текущему SubItem в массиве
  1. Исправить ошибки/недочёты

Важно!!!

В процессе решения задач можно редактировать только реализацию контроллеров, моделей и рутингов. Результат работы присылать на: denis.bezrukov@e-azbuka.ru

About

Тестовое задание для позиции разработчика на NodeJS для компании Aggregion

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published