From 9a911038d9ac38bf590e9199b3b7477ebf91de19 Mon Sep 17 00:00:00 2001 From: Kimsible Date: Sat, 24 Apr 2021 01:44:39 +0200 Subject: Add shorter URLs for accounts and channels server-side --- server/tests/client.ts | 154 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 118 insertions(+), 36 deletions(-) (limited to 'server/tests') diff --git a/server/tests/client.ts b/server/tests/client.ts index 3c99bcd1f..e76220631 100644 --- a/server/tests/client.ts +++ b/server/tests/client.ts @@ -140,27 +140,51 @@ describe('Test a client controllers', function () { describe('Open Graph', function () { it('Should have valid Open Graph tags on the account page', async function () { - const res = await request(servers[0].url) + const accountPageTests = (res) => { + expect(res.text).to.contain(``) + expect(res.text).to.contain(``) + expect(res.text).to.contain('') + expect(res.text).to.contain(``) + } + + accountPageTests(await request(servers[0].url) .get('/accounts/' + servers[0].user.username) .set('Accept', 'text/html') - .expect(HttpStatusCode.OK_200) + .expect(HttpStatusCode.OK_200)) + + accountPageTests(await request(servers[0].url) + .get('/a/' + servers[0].user.username) + .set('Accept', 'text/html') + .expect(HttpStatusCode.OK_200)) - expect(res.text).to.contain(``) - expect(res.text).to.contain(``) - expect(res.text).to.contain('') - expect(res.text).to.contain(``) + accountPageTests(await request(servers[0].url) + .get('/@' + servers[0].user.username) + .set('Accept', 'text/html') + .expect(HttpStatusCode.OK_200)) }) it('Should have valid Open Graph tags on the channel page', async function () { - const res = await request(servers[0].url) + const channelPageOGtests = (res) => { + expect(res.text).to.contain(``) + expect(res.text).to.contain(``) + expect(res.text).to.contain('') + expect(res.text).to.contain(``) + } + + channelPageOGtests(await request(servers[0].url) .get('/video-channels/' + servers[0].videoChannel.name) .set('Accept', 'text/html') - .expect(HttpStatusCode.OK_200) + .expect(HttpStatusCode.OK_200)) + + channelPageOGtests(await request(servers[0].url) + .get('/c/' + servers[0].videoChannel.name) + .set('Accept', 'text/html') + .expect(HttpStatusCode.OK_200)) - expect(res.text).to.contain(``) - expect(res.text).to.contain(``) - expect(res.text).to.contain('') - expect(res.text).to.contain(``) + channelPageOGtests(await request(servers[0].url) + .get('/@' + servers[0].videoChannel.name) + .set('Accept', 'text/html') + .expect(HttpStatusCode.OK_200)) }) it('Should have valid Open Graph tags on the watch page with video id', async function () { @@ -227,27 +251,51 @@ describe('Test a client controllers', function () { }) it('Should have valid twitter card on the account page', async function () { - const res = await request(servers[0].url) + const accountPageTests = (res) => { + expect(res.text).to.contain('') + expect(res.text).to.contain('') + expect(res.text).to.contain(``) + expect(res.text).to.contain(``) + } + + accountPageTests(await request(servers[0].url) .get('/accounts/' + account.name) .set('Accept', 'text/html') - .expect(HttpStatusCode.OK_200) + .expect(HttpStatusCode.OK_200)) - expect(res.text).to.contain('') - expect(res.text).to.contain('') - expect(res.text).to.contain(``) - expect(res.text).to.contain(``) + accountPageTests(await request(servers[0].url) + .get('/a/' + account.name) + .set('Accept', 'text/html') + .expect(HttpStatusCode.OK_200)) + + accountPageTests(await request(servers[0].url) + .get('/@' + account.name) + .set('Accept', 'text/html') + .expect(HttpStatusCode.OK_200)) }) it('Should have valid twitter card on the channel page', async function () { - const res = await request(servers[0].url) + const channelPageTests = (res) => { + expect(res.text).to.contain('') + expect(res.text).to.contain('') + expect(res.text).to.contain(``) + expect(res.text).to.contain(``) + } + + channelPageTests(await request(servers[0].url) .get('/video-channels/' + servers[0].videoChannel.name) .set('Accept', 'text/html') - .expect(HttpStatusCode.OK_200) + .expect(HttpStatusCode.OK_200)) - expect(res.text).to.contain('') - expect(res.text).to.contain('') - expect(res.text).to.contain(``) - expect(res.text).to.contain(``) + channelPageTests(await request(servers[0].url) + .get('/c/' + servers[0].videoChannel.name) + .set('Accept', 'text/html') + .expect(HttpStatusCode.OK_200)) + + channelPageTests(await request(servers[0].url) + .get('/@' + servers[0].videoChannel.name) + .set('Accept', 'text/html') + .expect(HttpStatusCode.OK_200)) }) it('Should have valid twitter card if Twitter is whitelisted', async function () { @@ -275,21 +323,45 @@ describe('Test a client controllers', function () { expect(resVideoPlaylistRequest.text).to.contain('') expect(resVideoPlaylistRequest.text).to.contain('') - const resAccountRequest = await request(servers[0].url) + const accountTests = (res) => { + expect(res.text).to.contain('') + expect(res.text).to.contain('') + } + + accountTests(await request(servers[0].url) .get('/accounts/' + account.name) .set('Accept', 'text/html') - .expect(HttpStatusCode.OK_200) + .expect(HttpStatusCode.OK_200)) + + accountTests(await request(servers[0].url) + .get('/a/' + account.name) + .set('Accept', 'text/html') + .expect(HttpStatusCode.OK_200)) + + accountTests(await request(servers[0].url) + .get('/@' + account.name) + .set('Accept', 'text/html') + .expect(HttpStatusCode.OK_200)) - expect(resAccountRequest.text).to.contain('') - expect(resAccountRequest.text).to.contain('') + const channelTests = (res) => { + expect(res.text).to.contain('') + expect(res.text).to.contain('') + } - const resChannelRequest = await request(servers[0].url) + channelTests(await request(servers[0].url) .get('/video-channels/' + servers[0].videoChannel.name) .set('Accept', 'text/html') - .expect(HttpStatusCode.OK_200) + .expect(HttpStatusCode.OK_200)) + + channelTests(await request(servers[0].url) + .get('/c/' + servers[0].videoChannel.name) + .set('Accept', 'text/html') + .expect(HttpStatusCode.OK_200)) - expect(resChannelRequest.text).to.contain('') - expect(resChannelRequest.text).to.contain('') + channelTests(await request(servers[0].url) + .get('/@' + servers[0].videoChannel.name) + .set('Accept', 'text/html') + .expect(HttpStatusCode.OK_200)) }) }) @@ -335,13 +407,23 @@ describe('Test a client controllers', function () { }) it('Should use the original account URL for the canonical tag', async function () { - const res = await makeHTMLRequest(servers[1].url, '/accounts/root@' + servers[0].host) - expect(res.text).to.contain(``) + const accountURLtest = (res) => { + expect(res.text).to.contain(``) + } + + accountURLtest(await makeHTMLRequest(servers[1].url, '/accounts/root@' + servers[0].host)) + accountURLtest(await makeHTMLRequest(servers[1].url, '/a/root@' + servers[0].host)) + accountURLtest(await makeHTMLRequest(servers[1].url, '/@root@' + servers[0].host)) }) it('Should use the original channel URL for the canonical tag', async function () { - const res = await makeHTMLRequest(servers[1].url, '/video-channels/root_channel@' + servers[0].host) - expect(res.text).to.contain(``) + const channelURLtests = (res) => { + expect(res.text).to.contain(``) + } + + channelURLtests(await makeHTMLRequest(servers[1].url, '/video-channels/root_channel@' + servers[0].host)) + channelURLtests(await makeHTMLRequest(servers[1].url, '/c/root_channel@' + servers[0].host)) + channelURLtests(await makeHTMLRequest(servers[1].url, '/@root_channel@' + servers[0].host)) }) it('Should use the original playlist URL for the canonical tag', async function () { -- cgit v1.2.3