#javascript #testing
Вопрос:
Как я могу протестировать регистрацию пользователя. я использую экспресс для запуска своего сервера, но не знаю, как написать тест. я получил свою конечную точку /создаю. первый тест-просто не получить ошибку, чтобы посмотреть, работает ли она. Я немного не уверен, как я могу это протестировать, потому что мне нужно будет войти на html-страницу или что-то в этом роде. Есть какие-нибудь предложения?
test.js
const {expect} = require('chai') const chai = require('chai') const chaiHttp = require('chai-http') const user = require('../src/controllers/user-controller') chai.use(chaiHttp) describe('API', () =gt; { describe('GET /create', () =gt; { it('should register', (done)=gt;{ chai .request(user) .get('/create') .end((err,res)=gt;{ expect(err).to.be.null; done(); }) }) }) })
user-controller.js
router.post("/create", (req, res) =gt; { const user = new userModel(req.body.email, req.body.password); db.saveUser(user); res.status(200).send(true); });
register.js
document.addEventListener("DOMContentLoaded", (event) =gt; { document.getElementById("form").addEventListener("submit", (event) =gt; { event.preventDefault(); // laver to konstanter, som tager valuen for det useren sætter ind i Email og password. const email = document.getElementById("email").value; const password = document.getElementById("password").value; //laver mit user object som er forbundet til inputtet ovenover const user = { email: email, password: password, }; // Fetcher dataen fetch("http://localhost:8200/users/create", { method: "POST", headers: { "Content-Type": "application/json", }, // laver User ombjektet omtil en JSON string body: JSON.stringify(user), }) //retunerer et promise, og hvis der repsonse //skal det ryge i json og gå til login.html, ellers alert at der er en fejl .then((response) =gt; response.json()) .then((response) =gt; { if (response) { location.href = "/login.html"; } }) .catch(() =gt; { alert("Der skete en fejl"); }); }); });