mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
chore: re-order interstitial tests so email and gdpr tests are in sub-blocks
This commit is contained in:
@@ -332,19 +332,27 @@ describe('Controllers', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('registration interstitials', () => {
|
describe.only('registration interstitials', () => {
|
||||||
|
describe('email update', () => {
|
||||||
let jar;
|
let jar;
|
||||||
let token;
|
let token;
|
||||||
|
|
||||||
it('email interstitial should still apply if empty email entered and requireEmailAddress is enabled', async () => {
|
before(async () => {
|
||||||
meta.config.requireEmailAddress = 1;
|
|
||||||
|
|
||||||
jar = await helpers.registerUser({
|
jar = await helpers.registerUser({
|
||||||
username: 'testEmailReg',
|
username: utils.generateUUID().slice(0, 10),
|
||||||
password: 'asdasd',
|
password: utils.generateUUID(),
|
||||||
});
|
});
|
||||||
|
console.log(jar);
|
||||||
token = await helpers.getCsrfToken(jar);
|
token = await helpers.getCsrfToken(jar);
|
||||||
|
|
||||||
|
meta.config.requireEmailAddress = 1;
|
||||||
|
});
|
||||||
|
|
||||||
|
after(() => {
|
||||||
|
meta.config.requireEmailAddress = 0;
|
||||||
|
});
|
||||||
|
|
||||||
|
it('email interstitial should still apply if empty email entered and requireEmailAddress is enabled', async () => {
|
||||||
let res = await requestAsync(`${nconf.get('url')}/register/complete`, {
|
let res = await requestAsync(`${nconf.get('url')}/register/complete`, {
|
||||||
method: 'post',
|
method: 'post',
|
||||||
jar,
|
jar,
|
||||||
@@ -367,7 +375,6 @@ describe('Controllers', () => {
|
|||||||
json: true,
|
json: true,
|
||||||
resolveWithFullResponse: true,
|
resolveWithFullResponse: true,
|
||||||
});
|
});
|
||||||
console.log(res.statusCode, JSON.stringify(res.body, null, 4));
|
|
||||||
assert.strictEqual(res.statusCode, 200);
|
assert.strictEqual(res.statusCode, 200);
|
||||||
assert(res.body.errors.length);
|
assert(res.body.errors.length);
|
||||||
assert(res.body.errors.includes('[[error:invalid-email]]'));
|
assert(res.body.errors.includes('[[error:invalid-email]]'));
|
||||||
@@ -386,27 +393,6 @@ describe('Controllers', () => {
|
|||||||
assert(!res.body.errors.includes('[[error:gdpr_consent_denied]]'));
|
assert(!res.body.errors.includes('[[error:gdpr_consent_denied]]'));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('registration should succeed once gdpr prompts are agreed to', async () => {
|
|
||||||
const res = await requestAsync(`${nconf.get('url')}/register/complete`, {
|
|
||||||
method: 'post',
|
|
||||||
jar,
|
|
||||||
json: true,
|
|
||||||
followRedirect: false,
|
|
||||||
simple: false,
|
|
||||||
resolveWithFullResponse: true,
|
|
||||||
headers: {
|
|
||||||
'x-csrf-token': token,
|
|
||||||
},
|
|
||||||
form: {
|
|
||||||
gdpr_agree_data: 'on',
|
|
||||||
gdpr_agree_email: 'on',
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
assert.strictEqual(res.statusCode, 302);
|
|
||||||
assert.strictEqual(res.headers.location, `${nconf.get('relative_path')}/`);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should error if userData is falsy', async () => {
|
it('should error if userData is falsy', async () => {
|
||||||
try {
|
try {
|
||||||
await user.interstitials.email({ userData: null });
|
await user.interstitials.email({ userData: null });
|
||||||
@@ -502,6 +488,41 @@ describe('Controllers', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('gdpr', () => {
|
||||||
|
let jar;
|
||||||
|
let token;
|
||||||
|
|
||||||
|
before(async () => {
|
||||||
|
jar = await helpers.registerUser({
|
||||||
|
username: utils.generateUUID(),
|
||||||
|
password: utils.generateUUID(),
|
||||||
|
});
|
||||||
|
token = await helpers.getCsrfToken(jar);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('registration should succeed once gdpr prompts are agreed to', async () => {
|
||||||
|
const res = await requestAsync(`${nconf.get('url')}/register/complete`, {
|
||||||
|
method: 'post',
|
||||||
|
jar,
|
||||||
|
json: true,
|
||||||
|
followRedirect: false,
|
||||||
|
simple: false,
|
||||||
|
resolveWithFullResponse: true,
|
||||||
|
headers: {
|
||||||
|
'x-csrf-token': token,
|
||||||
|
},
|
||||||
|
form: {
|
||||||
|
gdpr_agree_data: 'on',
|
||||||
|
gdpr_agree_email: 'on',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
assert.strictEqual(res.statusCode, 302);
|
||||||
|
assert.strictEqual(res.headers.location, `${nconf.get('relative_path')}/`);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it('should load /robots.txt', (done) => {
|
it('should load /robots.txt', (done) => {
|
||||||
request(`${nconf.get('url')}/robots.txt`, (err, res, body) => {
|
request(`${nconf.get('url')}/robots.txt`, (err, res, body) => {
|
||||||
assert.ifError(err);
|
assert.ifError(err);
|
||||||
|
|||||||
@@ -167,6 +167,7 @@ helpers.registerUser = function (data, callback) {
|
|||||||
'x-csrf-token': body.csrf_token,
|
'x-csrf-token': body.csrf_token,
|
||||||
},
|
},
|
||||||
}, (err, response, body) => {
|
}, (err, response, body) => {
|
||||||
|
console.log(body);
|
||||||
callback(err, jar, response, body);
|
callback(err, jar, response, body);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user