extended user login test

This commit is contained in:
Sascha Kühl 2025-03-17 16:16:48 +01:00
parent f7f80ac690
commit 677f929f1c
4 changed files with 33 additions and 27 deletions

View File

@ -15,7 +15,7 @@ app.use(express.json());
app.use(express.urlencoded({ extended: true })); app.use(express.urlencoded({ extended: true }));
// database // database
const db = require("./models/index"); const db = require("./models");
const Role = db.Role; const Role = db.Role;
const User = db.User; const User = db.User;
const PitchType = db.pitchType; const PitchType = db.pitchType;

View File

@ -1,5 +1,5 @@
const db = require("../models/index"); const db = require("../models/index");
const User = db.user; const User = db.User;
const Op = db.Sequelize.Op; const Op = db.Sequelize.Op;
exports.findAll = (req, res) => { exports.findAll = (req, res) => {

View File

@ -52,6 +52,15 @@ module.exports = (sequelize, DataTypes) => {
user.password = await bcrypt.hash(user.password, salt); user.password = await bcrypt.hash(user.password, salt);
} }
} }
}, {
defaultScope: {
attributes: { exclude: ['password'] },
},
scopes: {
withSecretColumns: {
attributes: { include: ['password'] },
},
},
}); });
User.prototype.validPassword = function (password) { User.prototype.validPassword = function (password) {

View File

@ -13,38 +13,35 @@ const { signupUser } = require("./data/user.test.data")
const res = require("express/lib/response"); const res = require("express/lib/response");
describe("Test user authentication", () => { describe("Test user authentication", () => {
test("should signup a user", done => { test("should signup a user", async () => {
request(app) const response = await request(app)
.post("/api/auth/signup") .post("/api/auth/signup")
.send(signupUser) .send(signupUser);
.then( res => {
expect(res.header['content-type']).toBe('application/json; charset=utf-8'); expect(response.header['content-type']).toBe('application/json; charset=utf-8');
expect(res.statusCode).toBe(200); expect(response.statusCode).toBe(200);
done();
});
}); });
test("Test user login", done => { test("Test user login", async () => {
let user = {}; let user = {};
request(app) let response = await request(app)
.post("/api/auth/signin") .post("/api/auth/signin")
.send({ .send({
email: 'ryan.nolan@bullpen.com', email: 'ryan.nolan@bullpen.com',
password: 'nolan' password: 'nolan'
})
.then( res => {
expect(res.statusCode).toBe(200);
expect(res.body.accessToken).not.toBeNull();
console.log(res.body);
user = res.body;
done();
// }).then(() => {
// request(app)
// .get(`/api/users/${user.id}`)
// .then( res2 => {
// expect(res2.statusCode).toBe(200);
// })
//
}); });
expect(response.statusCode).toBe(200);
expect(response.body.accessToken).not.toBeNull();
user = response.body;
response = await request(app)
.get(`/api/users/${user.id}`);
expect(response.statusCode).toBe(403);
response = await request(app)
.get(`/api/users/${user.id}`)
.set('x-access-token', user.accessToken);
console.log(response.body);
expect(response.statusCode).toBe(200);
}); });
}); });