| Server IP : 167.235.67.158 / Your IP : 216.73.216.95 Web Server : Apache System : Linux ubuntu-8gb-nbg1-1 6.8.0-111-generic #111-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 11 23:16:02 UTC 2026 x86_64 User : upstairsbar.co.uk ( 982) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/api.pda.the-word.com/tests/ |
Upload File : |
const assert = require('node:assert/strict');
const test = require('node:test');
const { hasAuthEnv, login, loginFresh, request, TEST_EMAIL, TEST_PASSWORD } = require('./helpers');
const it = hasAuthEnv ? test : test.skip;
it('login succeeds with valid credentials', async () => {
const response = await request('/auth/login', {
method: 'POST',
body: {
email: TEST_EMAIL,
password: TEST_PASSWORD
}
});
assert.equal(response.status, 200);
assert.ok(response.body.sessionToken);
assert.equal(response.body.accessToken, undefined);
assert.equal(response.body.refreshToken, undefined);
assert.equal(response.body.user.email, undefined);
});
it('login fails with invalid credentials', async () => {
const response = await request('/auth/login', {
method: 'POST',
body: {
email: TEST_EMAIL,
password: 'definitely-wrong'
}
});
assert.equal(response.status, 401);
});
it('authenticated user endpoint works with access token', async () => {
const auth = await login();
const response = await request('/user/me', {
token: auth.accessToken
});
assert.equal(response.status, 200);
assert.equal(response.body.id, auth.user.id);
});
it('logout revokes only the current session token', async () => {
const first = await loginFresh();
const second = await loginFresh();
const firstBeforeLogout = await request('/user/me', {
token: first.sessionToken
});
assert.equal(firstBeforeLogout.status, 200);
const logout = await request('/auth/logout', {
method: 'POST',
token: first.sessionToken
});
assert.equal(logout.status, 200);
assert.equal(logout.body.success, true);
const firstAfterLogout = await request('/user/me', {
token: first.sessionToken
});
assert.equal(firstAfterLogout.status, 401);
const secondAfterLogout = await request('/user/me', {
token: second.sessionToken
});
assert.equal(secondAfterLogout.status, 200);
assert.equal(secondAfterLogout.body.id, second.user.id);
});