From 6f54cc7a6bc6fa9e834cd6b375a4180d29d0eaf8 Mon Sep 17 00:00:00 2001 From: Yannick Lohse Date: Mon, 24 Feb 2020 10:33:38 +0100 Subject: [PATCH] fix: Load flags from legacy DOM (#968) * fix: Load flags from legacy DOM * tests: Un-focus test Co-Authored-By: Patrick Browne Co-authored-by: Patrick Browne --- packages/cozy-flags/src/flag.js | 2 +- packages/cozy-flags/src/tests.js | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/cozy-flags/src/flag.js b/packages/cozy-flags/src/flag.js index d19e0dbc3d..1d610bacdc 100644 --- a/packages/cozy-flags/src/flag.js +++ b/packages/cozy-flags/src/flag.js @@ -67,7 +67,7 @@ export const initializeFromRemote = async client => { enable(attributes) } -const capitalize = str => str[0].toUppercase() + str.slice(1) +const capitalize = str => str[0].toUpperCase() + str.slice(1) export const getTemplateData = attr => { if (typeof document === 'undefined') { diff --git a/packages/cozy-flags/src/tests.js b/packages/cozy-flags/src/tests.js index a6ea74dd69..135591e3cc 100644 --- a/packages/cozy-flags/src/tests.js +++ b/packages/cozy-flags/src/tests.js @@ -116,6 +116,26 @@ export default function testFlagAPI(flag) { document.body.removeChild(div) } }) + + it('should initialize from DOM (legacy)', async () => { + jest.spyOn(console, 'warn').mockImplementation(() => {}) + let div + try { + div = document.createElement('div') + div.dataset.cozyFlags = JSON.stringify(domFlags) + document.body.appendChild(div) + await flag.initialize() + expect(flag('has_feature1')).toBe(true) + expect(flag('has_feature2')).toBe(false) + expect(flag('number_of_foos')).toBe(10) + expect(flag('bar_config')).toEqual({ qux: 'quux' }) + + // eslint-disable-next-line no-console + expect(console.warn).toHaveBeenCalled() + } finally { + document.body.removeChild(div) + } + }) } it('should initialize from the remote stack', async () => {