How can i test a user register. im using express to run my server, but im not sure how to write the test. i got my endpoint /create. the first test is just to not get an error, to see if its working. Im a little unsure how i can test it, because i will need to login on the html page or what. Any suggestions?
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', () => {
describe('GET /create', () => {
it('should register', (done)=>{
chai
.request(user)
.get('/create')
.end((err,res)=>{
expect(err).to.be.null;
done();
})
})
})
})
user-controller.js
router.post("/create", (req, res) => {
const user = new userModel(req.body.email, req.body.password);
db.saveUser(user);
res.status(200).send(true);
});
register.js
document.addEventListener("DOMContentLoaded", (event) => {
document.getElementById("form").addEventListener("submit", (event) => {
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) => response.json())
.then((response) => {
if (response) {
location.href = "/login.html";
}
})
.catch(() => {
alert("Der skete en fejl");
});
});
});