add tests for new api route

This commit is contained in:
Phillip Thelen
2025-04-09 13:13:03 +02:00
parent 80825f3478
commit 9038572ff9
3 changed files with 66 additions and 1 deletions
@@ -7,7 +7,7 @@ import {
getProperty,
} from '../../../../../helpers/api-integration/v3';
describe.only('POST /user/auth/social', () => {
describe('POST /user/auth/social', () => {
let api;
let user;
const endpoint = '/user/auth/social';
@@ -0,0 +1,56 @@
import {
translate as t,
requester,
generateUser,
} from '../../../../helpers/api-integration/v4';
const ENDPOINT = '/user/auth/check-email';
describe('POST /user/auth/check-email', () => {
const email = 'SOmE-nEw-emAIl_2@example.net';
let api;
beforeEach(async () => {
api = requester();
});
it('returns email if it is not used yet', async () => {
const response = await api.post(ENDPOINT, {
email,
});
expect(response.email).to.eql(email);
});
it('rejects if email is not provided', async () => {
await expect(api.post(ENDPOINT, {
})).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
message: 'Invalid request parameters.',
});
});
it('rejects if email is already taken', async () => {
const user = await generateUser();
await expect(api.post(ENDPOINT, {
email: user.auth.local.email,
})).to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
message: t('emailTaken'),
});
});
it('rejects if casing is different', async () => {
const user = await generateUser();
await expect(api.post(ENDPOINT, {
email: user.auth.local.email.toUpperCase(),
})).to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
message: t('emailTaken'),
});
});
});