Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 3x 1x | const express = require("express"); const path = require("path"); const logger = require("morgan"); const cors = require("cors"); const helmet = require("helmet"); const apiLimiter = require("./helpers/apiLimiter"); const contactsRouter = require("./routes/api/contacts"); const authenticationRoute = require("./routes/api/user"); const app = express(); const FOLDER_IMAGES = process.env.DIR_IMAGES; app.use(express.static(path.join(__dirname, FOLDER_IMAGES))); console.log(path.join(__dirname, FOLDER_IMAGES)); const formatsLogger = app.get("env") === "development" ? "dev" : "short"; app.use(helmet()); app.use(logger(formatsLogger)); app.use(cors()); app.use(express.json()); app.use("/api/contacts", apiLimiter, contactsRouter); app.use("/api/auth", apiLimiter, authenticationRoute); app.use((req, res) => { res.status(404).json({ message: "Not found" }); }); app.use((err, req, res, next) => { res.status(500).json({ message: err.message }); }); module.exports = app; // Дополнительное задание - необязательное // 1. Написать юнит-тесты для мидлвара по авторизации // (при помощи mocha, sinon) // все методы и функции, вызываемые мидлваром (вместе с next) должны быть заглушены при помощи sinon // нужно проверить количество вызовов заглушок и аргументы с которыми они вызывались в случаях, когда: // пользователь не передал токен в Authorization заголовке // токен пользователя невалидный // токен пользователя валидный // Подсказка: // Иногда Вам может понадобится переопределить возвращаемые значения // методов-заглушок // 2. Написать приемочные тесты для ендпоинта обновления аватарок // (дополнительно нужно будет использовать supertest) // Тесты должны проверять: // возвращается ли ответ со статус кодом 401, если токен пользователя невалидный // В случае, если все прошло успешно, проверить: // возвращается ли ответ со статус кодом 200 // возвращается ли тело ответа в правильном формате // добавляется ли avatarUrl в документ целевого пользователя |