From bbd0905e59159d4a12993c6c3a0108e14d4872f5 Mon Sep 17 00:00:00 2001 From: Martin Kilger Date: Fri, 25 Oct 2024 12:14:26 +0200 Subject: [PATCH] Add new extend linear scale with values up to 10. - This supports some specific estimation cases. - Rename the previous linear scale. Signed-off-by: Martin Kilger --- .../ScaleSelector/ScaleSelector.test.tsx | 15 +++++++++++---- shared/cards.ts | 4 ++++ shared/scales.ts | 9 +++++++-- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/frontend/src/Components/ScaleSelector/ScaleSelector.test.tsx b/frontend/src/Components/ScaleSelector/ScaleSelector.test.tsx index e56ac84..8d9938e 100644 --- a/frontend/src/Components/ScaleSelector/ScaleSelector.test.tsx +++ b/frontend/src/Components/ScaleSelector/ScaleSelector.test.tsx @@ -43,7 +43,8 @@ describe('The ScaleSelector', () => { 'Fibonacci', 'Cohen', 'Fixed Ratio', - 'Linear', + 'Linear (0-6)', + 'Linear (0-10)', 'Sizes', ]); expect(getSelectedOptions(dropdown)).toEqual(['Cohen']); @@ -123,7 +124,10 @@ describe('The ScaleSelector', () => { expect(getSelectedOptions(dropdown)).toEqual(['Fixed Ratio']); fireEvent.keyDown(dropdown, { code: 'ArrowDown' }); - expect(getSelectedOptions(dropdown)).toEqual(['Linear']); + expect(getSelectedOptions(dropdown)).toEqual(['Linear (0-6)']); + + fireEvent.keyDown(dropdown, { code: 'ArrowDown' }); + expect(getSelectedOptions(dropdown)).toEqual(['Linear (0-10)']); fireEvent.keyDown(dropdown, { code: 'ArrowDown' }); expect(getSelectedOptions(dropdown)).toEqual(['Sizes']); @@ -135,7 +139,10 @@ describe('The ScaleSelector', () => { expect(getSelectedOptions(dropdown)).toEqual(['Sizes']); fireEvent.keyDown(dropdown, { code: 'ArrowUp' }); - expect(getSelectedOptions(dropdown)).toEqual(['Linear']); + expect(getSelectedOptions(dropdown)).toEqual(['Linear (0-10)']); + + fireEvent.keyDown(dropdown, { code: 'ArrowUp' }); + expect(getSelectedOptions(dropdown)).toEqual(['Linear (0-6)']); fireEvent.keyDown(dropdown, { code: 'ArrowUp' }); expect(getSelectedOptions(dropdown)).toEqual(['Fixed Ratio']); @@ -193,7 +200,7 @@ describe('The ScaleSelector', () => { expect(getSelectedOptions(dropdown)).toEqual(['Sizes']); fireEvent.keyDown(dropdown, { code: 'ArrowUp' }); - expect(getSelectedOptions(dropdown)).toEqual(['Linear']); + expect(getSelectedOptions(dropdown)).toEqual(['Linear (0-10)']); fireEvent.mouseMove(getByText('Sizes')); fireEvent.mouseLeave(getByText('Sizes')); diff --git a/shared/cards.ts b/shared/cards.ts index 5530d45..0e6304a 100644 --- a/shared/cards.ts +++ b/shared/cards.ts @@ -17,7 +17,11 @@ const NUMERIC_VALUES_ORDERED = [ '3', '4', '5', + '6', + '7', '8', + '9', + '10', '13', '16', '20', diff --git a/shared/scales.ts b/shared/scales.ts index 3a94f5b..d2effa7 100644 --- a/shared/scales.ts +++ b/shared/scales.ts @@ -5,6 +5,7 @@ export type ScaleName = | 'COHEN_SCALE' | 'FIXED_RATIO_SCALE' | 'LINEAR_SCALE' + | 'LINEAR_EXTENDED_SCALE' | 'SIZES_SCALE'; export const SCALES: { [id in ScaleName]: { name: string; values: CardValue[] } } = { @@ -34,8 +35,12 @@ export const SCALES: { [id in ScaleName]: { name: string; values: CardValue[] } values: ['1', '2', '4', '8', '16', '32', '64', '128', ...SPECIAL_VALUES_ORDERED], }, LINEAR_SCALE: { - name: 'Linear', - values: ['0', '1', '2', '3', '4', '5', ...SPECIAL_VALUES_ORDERED], + name: 'Linear (0-6)', + values: ['0', '1', '2', '3', '4', '5', '6', ...SPECIAL_VALUES_ORDERED], + }, + LINEAR_EXTENDED_SCALE: { + name: 'Linear (0-10)', + values: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', ...SPECIAL_VALUES_ORDERED], }, SIZES_SCALE: { name: 'Sizes', values: [...SIZES_ORDERED, ...SPECIAL_VALUES_ORDERED] }, };