From 89e847b5a8bf0a82d6f7166d3bac0d6c582bcbc8 Mon Sep 17 00:00:00 2001 From: Luciano Balmaceda Date: Thu, 30 Jan 2020 15:01:03 -0300 Subject: [PATCH] refactor b64 tests --- src/jwt/__tests__/base64.spec.js | 34 ++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/src/jwt/__tests__/base64.spec.js b/src/jwt/__tests__/base64.spec.js index bbdbbc47..af409bef 100644 --- a/src/jwt/__tests__/base64.spec.js +++ b/src/jwt/__tests__/base64.spec.js @@ -1,17 +1,31 @@ import * as base64 from '../base64'; describe('helpers base64 url', function() { - it('padding', function() { - expect(base64.padding('')).toBe(''); - expect(base64.padding('a')).toBe('a==='); - expect(base64.padding('ab')).toBe('ab=='); - expect(base64.padding('abc')).toBe('abc='); - expect(base64.padding('abcd')).toBe('abcd'); - expect(base64.padding('abced')).toBe('abced==='); - expect(base64.padding(base64.padding('abc'))).toBe('abc='); + describe('padding', function() { + it('does not add to multiple of 4', function() { + expect(base64.padding('')).toBe(''); + expect(base64.padding('abcd')).toBe('abcd'); + }); + it('adds to non multiple of 4', function() { + expect(base64.padding('a')).toBe('a==='); + expect(base64.padding('ab')).toBe('ab=='); + expect(base64.padding('abc')).toBe('abc='); + expect(base64.padding('abced')).toBe('abced==='); + }); + it('does not change already padded value', function() { + const padded = base64.padding('abc'); + expect(padded).toBe('abc='); + const again = base64.padding(padded); + expect(again).toBe('abc='); + }); }); - it('decode to hex', function() { - expect(base64.decodeToHEX('AQAB')).toBe('010001'); + describe('decoding to hex', function() { + it('should convert base64 input into hex output', function() { + expect(base64.decodeToHEX('AQAB')).toBe('010001'); + expect(base64.decodeToHEX('uGbXWiK3dQTyCbX5')).toBe( + 'b866d75a22b77504f209b5f9', + ); + }); }); });