Testing URL Protocol Handling Implementation in Insomnia
This test suite evaluates the setDefaultProtocol utility function in the Insomnia application, focusing on URL protocol handling. The tests verify the function’s ability to properly handle various URL formats and ensure correct protocol assignment for web addresses.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
kong/insomnia
packages/insomnia/src/utils/url/protocol.test.ts
import { describe, expect, it } from 'vitest';
import { setDefaultProtocol } from './protocol';
describe('setDefaultProtocol()', () => {
it('no-ops on empty url', () => {
const url = setDefaultProtocol('');
expect(url).toBe('');
});
it('correctly sets protocol for empty', () => {
const url = setDefaultProtocol('google.com');
expect(url).toBe('http://google.com');
});
it('correctly sets protocol for padded domain', () => {
const url = setDefaultProtocol(' google.com ');
expect(url).toBe('http://google.com');
});
it('does not set for valid url', () => {
const url = setDefaultProtocol('https://google.com');
expect(url).toBe('https://google.com');
});
it('does not set for valid url', () => {
const url = setDefaultProtocol('http://google.com');
expect(url).toBe('http://google.com');
});
it('does not set for invalid url', () => {
const url = setDefaultProtocol('httbad://google.com');
expect(url).toBe('httbad://google.com');
});
});