From c4567a8777c3375d490ede5557c5c8c8aa9d350c Mon Sep 17 00:00:00 2001 From: Isaac Good Date: Thu, 19 Jun 2025 14:10:56 -0700 Subject: [PATCH 1/3] Remove nested describes to unbreak task-based testing --- .../freelancer-rates/freelancer-rates.spec.js | 56 ++++++++----------- 1 file changed, 24 insertions(+), 32 deletions(-) diff --git a/exercises/concept/freelancer-rates/freelancer-rates.spec.js b/exercises/concept/freelancer-rates/freelancer-rates.spec.js index d6e8464ce2..3b092c99f8 100644 --- a/exercises/concept/freelancer-rates/freelancer-rates.spec.js +++ b/exercises/concept/freelancer-rates/freelancer-rates.spec.js @@ -35,57 +35,49 @@ describe('day rate', () => { }); describe('days in budget', () => { - describe('with a budget of 1280', () => { - test('at 16/hour', () => { - const actual = daysInBudget(1280, 16); - const expected = 10; + test('with a budget of 1280 at 16/hour', () => { + const actual = daysInBudget(1280, 16); + const expected = 10; - expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); - }); + expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); + }); - test('at 25/hour', () => { - const actual = daysInBudget(1280, 25); - const expected = 6; + test('with a budget of 1280 at 25/hour', () => { + const actual = daysInBudget(1280, 25); + const expected = 6; - expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); - }); + expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); + }); - describe('with a budget of 835', () => { - test('at 12/hour', () => { - const actual = daysInBudget(835, 12); - const expected = 8; + test('with a budget of 835 at 12/hour', () => { + const actual = daysInBudget(835, 12); + const expected = 8; - expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); - }); - }); + expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); }); }); describe('cost with monthly discount', () => { - describe('at 16/hour', () => { - test('for 70 days', () => { + test('at 16/hour for 70 days', () => { const actual = priceWithMonthlyDiscount(16, 70, 0); const expected = 8960; expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); }); - test('for 130 days with 15% discount', () => { + test('at 16/hour for 130 days with 15% discount', () => { const actual = priceWithMonthlyDiscount(16, 130, 0.15); const expected = 14528; expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); }); + test('at 29.654321/hour for 220 days with 11.2%', () => { + const actual = priceWithMonthlyDiscount(29.654321, 220, 0.112); + const expected = 46347; + expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); }); - describe('at 29.654321/hour', () => { - test('for 220 days with 11.2%', () => { - const actual = priceWithMonthlyDiscount(29.654321, 220, 0.112); - const expected = 46347; - expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); - }); - test('for 155 days with 25.47% discount', () => { - const actual = priceWithMonthlyDiscount(29.654321, 155, 0.2547); - const expected = 27467; - expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); - }); + test('at 29.654321/hour for 155 days with 25.47% discount', () => { + const actual = priceWithMonthlyDiscount(29.654321, 155, 0.2547); + const expected = 27467; + expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); }); }); From ee124a0de234630fae87238cedab96f5e1f2e71d Mon Sep 17 00:00:00 2001 From: Derk-Jan Karrenbeld Date: Fri, 20 Jun 2025 01:18:34 +0200 Subject: [PATCH 2/3] Format it! --- .../freelancer-rates/freelancer-rates.spec.js | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/exercises/concept/freelancer-rates/freelancer-rates.spec.js b/exercises/concept/freelancer-rates/freelancer-rates.spec.js index 3b092c99f8..9e246474ef 100644 --- a/exercises/concept/freelancer-rates/freelancer-rates.spec.js +++ b/exercises/concept/freelancer-rates/freelancer-rates.spec.js @@ -58,17 +58,17 @@ describe('days in budget', () => { }); describe('cost with monthly discount', () => { - test('at 16/hour for 70 days', () => { - const actual = priceWithMonthlyDiscount(16, 70, 0); - const expected = 8960; - expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); - }); + test('at 16/hour for 70 days', () => { + const actual = priceWithMonthlyDiscount(16, 70, 0); + const expected = 8960; + expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); + }); - test('at 16/hour for 130 days with 15% discount', () => { - const actual = priceWithMonthlyDiscount(16, 130, 0.15); - const expected = 14528; - expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); - }); + test('at 16/hour for 130 days with 15% discount', () => { + const actual = priceWithMonthlyDiscount(16, 130, 0.15); + const expected = 14528; + expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); + }); test('at 29.654321/hour for 220 days with 11.2%', () => { const actual = priceWithMonthlyDiscount(29.654321, 220, 0.112); const expected = 46347; From 0387a0e5ae4edb5b546c0e35f751ce2f02fada1b Mon Sep 17 00:00:00 2001 From: Derk-Jan Karrenbeld Date: Fri, 20 Jun 2025 01:21:06 +0200 Subject: [PATCH 3/3] Update exercises/concept/freelancer-rates/freelancer-rates.spec.js --- exercises/concept/freelancer-rates/freelancer-rates.spec.js | 1 + 1 file changed, 1 insertion(+) diff --git a/exercises/concept/freelancer-rates/freelancer-rates.spec.js b/exercises/concept/freelancer-rates/freelancer-rates.spec.js index 9e246474ef..9c8a3d5e60 100644 --- a/exercises/concept/freelancer-rates/freelancer-rates.spec.js +++ b/exercises/concept/freelancer-rates/freelancer-rates.spec.js @@ -69,6 +69,7 @@ describe('cost with monthly discount', () => { const expected = 14528; expect(actual).toBeCloseTo(expected, DIFFERENCE_PRECISION_IN_DIGITS); }); + test('at 29.654321/hour for 220 days with 11.2%', () => { const actual = priceWithMonthlyDiscount(29.654321, 220, 0.112); const expected = 46347;