Skip to content

Commit 8c13ef4

Browse files
committed
move provider from ctor dep to method argument at ChargeCalculator.charge
1 parent d0122f5 commit 8c13ef4

File tree

3 files changed

+6
-8
lines changed

3 files changed

+6
-8
lines changed

src/charge-calculator/index.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
export class ChargeCalculator {
2-
constructor(provider) {
3-
this._provider = provider;
4-
}
2+
constructor() {}
53

6-
charge(customer, usage) {
4+
charge(customer, usage, provider) {
75
const baseCharge = customer.baseRate * usage;
8-
return baseCharge + this._provider.connectionCharge;
6+
return baseCharge + provider.connectionCharge;
97
}
108
}

src/charge-calculator/index.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ describe('ChargeCalculator', () => {
66
const customer = { baseRate: 10 };
77
const provider = { connectionCharge: 5 };
88

9-
const chargeCalculator = new ChargeCalculator(provider);
9+
const chargeCalculator = new ChargeCalculator();
1010

11-
expect(chargeCalculator.charge(customer, usage)).toBe(1005);
11+
expect(chargeCalculator.charge(customer, usage, provider)).toBe(1005);
1212
});
1313
});

src/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ export function calculateMonthCharge(customer, usage, provider) {
66
}
77

88
function charge(customer, usage, provider) {
9-
return new ChargeCalculator(provider).charge(customer, usage);
9+
return new ChargeCalculator().charge(customer, usage, provider);
1010
}

0 commit comments

Comments
 (0)