| Server IP : 66.29.153.156 / Your IP : 216.73.217.22 Web Server : LiteSpeed System : Linux premium322.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64 User : lastyfjz ( 1521) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/lastyfjz/././unicitys.com/wp-content/plugins/extendify/tests/unit/Agent/lib/ |
Upload File : |
const adminUrl = 'https://wordpress.test/wp-admin/';
const homeUrl = 'https://wordpress.test/';
let getRedirectUrl;
beforeEach(async () => {
jest.resetModules();
window.extSharedData = { adminUrl, homeUrl };
window.extAgentData = {
agentContext: {
pluginRecommendations: [
{
slug: 'woocommerce',
redirectTo: 'https://wordpress.test/wp-admin/admin.php?page=wc-setup',
},
{
slug: 'no-redirect',
redirectTo: '',
},
],
},
};
const mod = await import('@agent/lib/redirects');
getRedirectUrl = mod.getRedirectUrl;
});
describe('getRedirectUrl', () => {
it('returns a full URL for a valid plugin-setup redirect', () => {
const result = getRedirectUrl(
{ type: 'plugin-setup' },
{ pluginSlug: 'woocommerce' },
);
expect(result).toBe(
'https://wordpress.test/wp-admin/admin.php?page=wc-setup',
);
});
it('returns empty when redirectTo is falsy', () => {
expect(getRedirectUrl(null, {})).toBe('');
expect(getRedirectUrl(undefined, {})).toBe('');
expect(getRedirectUrl('', {})).toBe('');
});
it('returns empty for an unknown redirect type', () => {
const result = getRedirectUrl(
{ type: 'unknown' },
{ pluginSlug: 'woocommerce' },
);
expect(result).toBe('');
});
it('returns empty when plugin slug is not in recommendations', () => {
const result = getRedirectUrl(
{ type: 'plugin-setup' },
{ pluginSlug: 'nonexistent' },
);
expect(result).toBe('');
});
it('returns empty when plugin has no redirectTo value', () => {
const result = getRedirectUrl(
{ type: 'plugin-setup' },
{ pluginSlug: 'no-redirect' },
);
expect(result).toBe('');
expect(console).toHaveErrored();
});
});