@levellr/crossgram
Version:
Repost Tweets to Telegram automatically
45 lines • 2.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const unshortener_1 = require("./unshortener");
describe('TwitterLinkUnshortener', () => {
describe('extractShortlinks', () => {
it('surrounded by space', async () => {
expect(unshortener_1.TwitterLinkUnshortener.extractShortlinks(` https://t.co/gJzevaFrrN `)).toStrictEqual(['https://t.co/gJzevaFrrN']);
});
it('surrounded by emoji', async () => {
expect(unshortener_1.TwitterLinkUnshortener.extractShortlinks(`🥁https://t.co/gJzevaFrrN🥁`)).toStrictEqual(['https://t.co/gJzevaFrrN']);
});
it('alone', async () => {
expect(unshortener_1.TwitterLinkUnshortener.extractShortlinks(`https://t.co/gJzevaFrrN`)).toStrictEqual(['https://t.co/gJzevaFrrN']);
});
it('in a messy group', async () => {
expect(unshortener_1.TwitterLinkUnshortener.extractShortlinks(`https://t.co/gJzevaFrrN 🥁https://t.co/gJzevaFrrN https://t.co/gJzevaFrrN https://t.co/gJzevaFrrN🥁https://t.co/gJzevaFrrN🥁`)).toStrictEqual([
'https://t.co/gJzevaFrrN',
'https://t.co/gJzevaFrrN',
'https://t.co/gJzevaFrrN',
'https://t.co/gJzevaFrrN',
'https://t.co/gJzevaFrrN',
]);
});
});
describe('unshortenLinks', () => {
describe('removes media URLs', () => {
for (const mediaType of ['video', 'photo']) {
it(`of type '${mediaType}'`, async () => {
jest
.spyOn(unshortener_1.TwitterLinkUnshortener, 'unshortenLink')
.mockResolvedValueOnce(`https://twitter.com/test/${mediaType}/1`);
expect(await unshortener_1.TwitterLinkUnshortener.unshortenLinks(`test https://t.co/gJzevaFrrN🥁 test`)).toStrictEqual('test 🥁 test');
});
}
});
it('expands non-media URLs', async () => {
jest
.spyOn(unshortener_1.TwitterLinkUnshortener, 'unshortenLink')
.mockResolvedValueOnce('https://www.levellr.com/1')
.mockResolvedValueOnce('https://www.levellr.com/2');
expect(await unshortener_1.TwitterLinkUnshortener.unshortenLinks(`test https://t.co/gJzevaFrrN https://t.co/gJzevaFrr1`)).toStrictEqual('test https://www.levellr.com/1 https://www.levellr.com/2');
});
});
});
//# sourceMappingURL=unshortener.spec.js.map