UNPKG

@poppanator/http-constants

Version:

This package contains various HTTP constants: http status codes and texts, HTTP header names and HTTP methods, and a few related utility function.

335 lines (263 loc) 9.96 kB
import 'jest' import * as F from './functions.js' test( 'isInformational() should return true for values between 100 and 199 ' + 'and false otherwise', () => { expect(F.isInformational(100)).toEqual(true) expect(F.isInformational(199)).toEqual(true) expect(F.isInformational(99)).toEqual(false) expect(F.isInformational(200)).toEqual(false) } ) test( 'isSuccess() should return true for values between 200 and 299 ' + 'and false otherwise', () => { expect(F.isSuccess(200)).toEqual(true) expect(F.isSuccess(299)).toEqual(true) expect(F.isSuccess(99)).toEqual(false) expect(F.isSuccess(199)).toEqual(false) expect(F.isSuccess(300)).toEqual(false) } ) test( 'isRedirect() should return true for values between 300 and 399 ' + 'and false otherwise', () => { expect(F.isRedirect(300)).toEqual(true) expect(F.isRedirect(399)).toEqual(true) expect(F.isRedirect(99)).toEqual(false) expect(F.isRedirect(199)).toEqual(false) expect(F.isRedirect(299)).toEqual(false) expect(F.isRedirect(400)).toEqual(false) } ) test( 'isClientError() should return true for values between 400 and 499 ' + 'and false otherwise', () => { expect(F.isClientError(400)).toEqual(true) expect(F.isClientError(499)).toEqual(true) expect(F.isClientError(99)).toEqual(false) expect(F.isClientError(199)).toEqual(false) expect(F.isClientError(399)).toEqual(false) expect(F.isClientError(500)).toEqual(false) } ) test( 'isServerError() should return true for values between 500 and 599 ' + 'and false otherwise', () => { expect(F.isServerError(500)).toEqual(true) expect(F.isServerError(599)).toEqual(true) expect(F.isServerError(99)).toEqual(false) expect(F.isServerError(199)).toEqual(false) expect(F.isServerError(499)).toEqual(false) expect(F.isServerError(600)).toEqual(false) } ) describe('getStatusText()', () => { test('100 should return Continue', () => { expect(F.getStatusText(100)).toEqual('Continue') }) test('101 should return Switching Protocol', () => { expect(F.getStatusText(101)).toEqual('Switching Protocol') }) test('102 should return Processing', () => { expect(F.getStatusText(102)).toEqual('Processing') }) test('103 should return Early Hints', () => { expect(F.getStatusText(103)).toEqual('Early Hints') }) test('200 should return OK', () => { expect(F.getStatusText(200)).toEqual('OK') }) test('201 should return Created', () => { expect(F.getStatusText(201)).toEqual('Created') }) test('202 should return Accepted', () => { expect(F.getStatusText(202)).toEqual('Accepted') }) test('203 should return Non Authoritative Information', () => { expect(F.getStatusText(203)).toEqual('Non Authoritative Information') }) test('204 should return No Content', () => { expect(F.getStatusText(204)).toEqual('No Content') }) test('205 should return Reset Content', () => { expect(F.getStatusText(205)).toEqual('Reset Content') }) test('206 should return Partial Content', () => { expect(F.getStatusText(206)).toEqual('Partial Content') }) test('207 should return Multi Status', () => { expect(F.getStatusText(207)).toEqual('Multi Status') }) test('208 should return Already Reported', () => { expect(F.getStatusText(208)).toEqual('Already Reported') }) test("226 should return I'm Used", () => { expect(F.getStatusText(226)).toEqual("I'm Used") }) test('300 should return Multiple Choices', () => { expect(F.getStatusText(300)).toEqual('Multiple Choices') }) test('301 should return Moved Permanently', () => { expect(F.getStatusText(301)).toEqual('Moved Permanently') }) test('302 should return Found', () => { expect(F.getStatusText(302)).toEqual('Found') }) test('303 should return See Other', () => { expect(F.getStatusText(303)).toEqual('See Other') }) test('304 should return Not Modified', () => { expect(F.getStatusText(304)).toEqual('Not Modified') }) test('305 should return Use Proxy', () => { expect(F.getStatusText(305)).toEqual('Use Proxy') }) test('306 should return Switch Proxy', () => { expect(F.getStatusText(306)).toEqual('Switch Proxy') }) test('307 should return Temporary Redirect', () => { expect(F.getStatusText(307)).toEqual('Temporary Redirect') }) test('308 should return Permanent Redirect', () => { expect(F.getStatusText(308)).toEqual('Permanent Redirect') }) test('400 should return Bad Request', () => { expect(F.getStatusText(400)).toEqual('Bad Request') }) test('401 should return Unauthorized', () => { expect(F.getStatusText(401)).toEqual('Unauthorized') }) test('402 should return Payment Required', () => { expect(F.getStatusText(402)).toEqual('Payment Required') }) test('403 should return Forbidden', () => { expect(F.getStatusText(403)).toEqual('Forbidden') }) test('404 should return Not Found', () => { expect(F.getStatusText(404)).toEqual('Not Found') }) test('405 should return Method Not Allowed', () => { expect(F.getStatusText(405)).toEqual('Method Not Allowed') }) test('406 should return Not Acceptable', () => { expect(F.getStatusText(406)).toEqual('Not Acceptable') }) test('407 should return Proxy Authentication Required', () => { expect(F.getStatusText(407)).toEqual('Proxy Authentication Required') }) test('408 should return Request Timeout', () => { expect(F.getStatusText(408)).toEqual('Request Timeout') }) test('409 should return Conflict', () => { expect(F.getStatusText(409)).toEqual('Conflict') }) test('410 should return Gone', () => { expect(F.getStatusText(410)).toEqual('Gone') }) test('411 should return Length Required', () => { expect(F.getStatusText(411)).toEqual('Length Required') }) test('412 should return Precondition Failed', () => { expect(F.getStatusText(412)).toEqual('Precondition Failed') }) test('413 should return Payload Too Large', () => { expect(F.getStatusText(413)).toEqual('Payload Too Large') }) test('414 should return URI Too Long', () => { expect(F.getStatusText(414)).toEqual('URI Too Long') }) test('415 should return Unsupported Media Type', () => { expect(F.getStatusText(415)).toEqual('Unsupported Media Type') }) test('416 should return Range Not Satisfiable', () => { expect(F.getStatusText(416)).toEqual('Range Not Satisfiable') }) test('417 should return Expectation Failed', () => { expect(F.getStatusText(417)).toEqual('Expectation Failed') }) test("418 should return I'm A Teapot", () => { expect(F.getStatusText(418)).toEqual("I'm A Teapot") }) test('421 should return Misdirected Request', () => { expect(F.getStatusText(421)).toEqual('Misdirected Request') }) test('422 should return Unprocessable Entity', () => { expect(F.getStatusText(422)).toEqual('Unprocessable Entity') }) test('423 should return Locked', () => { expect(F.getStatusText(423)).toEqual('Locked') }) test('424 should return Failed Dependency', () => { expect(F.getStatusText(424)).toEqual('Failed Dependency') }) test('425 should return Too Early', () => { expect(F.getStatusText(425)).toEqual('Too Early') }) test('426 should return Upgrade Required', () => { expect(F.getStatusText(426)).toEqual('Upgrade Required') }) test('428 should return Precondition Required', () => { expect(F.getStatusText(428)).toEqual('Precondition Required') }) test('429 should return Too Many Requests', () => { expect(F.getStatusText(429)).toEqual('Too Many Requests') }) test('431 should return Request Header Fields Too Large', () => { expect(F.getStatusText(431)).toEqual('Request Header Fields Too Large') }) test('451 should return Unavailable For Legal Reasons', () => { expect(F.getStatusText(451)).toEqual('Unavailable For Legal Reasons') }) test('500 should return Internal Server Error', () => { expect(F.getStatusText(500)).toEqual('Internal Server Error') }) test('501 should return Not Implemented', () => { expect(F.getStatusText(501)).toEqual('Not Implemented') }) test('502 should return Bad Gateway', () => { expect(F.getStatusText(502)).toEqual('Bad Gateway') }) test('503 should return Service Unavailable', () => { expect(F.getStatusText(503)).toEqual('Service Unavailable') }) test('504 should return Gateway Timeout', () => { expect(F.getStatusText(504)).toEqual('Gateway Timeout') }) test('505 should return HTTP Version Not Supported', () => { expect(F.getStatusText(505)).toEqual('HTTP Version Not Supported') }) test('506 should return Variant Also Negotiates', () => { expect(F.getStatusText(506)).toEqual('Variant Also Negotiates') }) test('507 should return Insufficient Storage', () => { expect(F.getStatusText(507)).toEqual('Insufficient Storage') }) test('508 should return Loop Detected', () => { expect(F.getStatusText(508)).toEqual('Loop Detected') }) test('510 should return Not Extended', () => { expect(F.getStatusText(510)).toEqual('Not Extended') }) test('511 should return Network Authentication Required', () => { expect(F.getStatusText(511)).toEqual('Network Authentication Required') }) }) describe('isHttpStatus()', () => { test('Should return true for know status HTTP codes such as 102, 200 and 404', () => { expect(F.isHttpStatus(102)).toEqual(true) expect(F.isHttpStatus(200)).toEqual(true) expect(F.isHttpStatus(404)).toEqual(true) }) test('Should return false for non HTTP status codes such as 99, 270 and 589 and 605', () => { expect(F.isHttpStatus(99)).toEqual(false) expect(F.isHttpStatus(270)).toEqual(false) expect(F.isHttpStatus(589)).toEqual(false) expect(F.isHttpStatus(605)).toEqual(false) }) })