Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f666516

Browse files
[js][bonus-02_explicit_method] Move premium clients to new method
1 parent cb1a49c commit f666516

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

‎examples/js/js-bonus-02_explicit_method/src/DailyBonusPointsCalculator.js‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ export class DailyBonusPointsCalculator {
44
PREMIUM_USER_WEEKS_MULTIPLIER = 1.5;
55

66
calculate(consecutiveDays, isPremium = false) {
7-
if (isPremium) {
8-
const consecutiveWeeks = Math.floor(consecutiveDays / 7);
9-
10-
let consecutiveWeeksMultiplier = 1;
11-
if (consecutiveWeeks > 0) {
12-
consecutiveWeeksMultiplier = Math.pow(this.PREMIUM_USER_WEEKS_MULTIPLIER, consecutiveWeeks);
13-
}
14-
15-
return consecutiveDays * this.PREMIUM_USER_POINTS_PER_DAY * consecutiveWeeksMultiplier;
16-
} else {
177
return consecutiveDays * this.NORMAL_USER_POINTS_PER_DAY;
8+
}
9+
10+
calculatePremium(consecutiveDays) {
11+
const consecutiveWeeks = Math.floor(consecutiveDays / 7);
12+
13+
let consecutiveWeeksMultiplier = 1;
14+
if (consecutiveWeeks > 0) {
15+
consecutiveWeeksMultiplier = Math.pow(this.PREMIUM_USER_WEEKS_MULTIPLIER, consecutiveWeeks);
1816
}
17+
18+
return consecutiveDays * this.PREMIUM_USER_POINTS_PER_DAY * consecutiveWeeksMultiplier;
1919
}
2020
}

‎examples/js/js-bonus-02_explicit_method/tests/DailyBonusPointsCalculator.test.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ describe('DailyBonusPointsCalculator should', () => {
1616
it('Calculate points for a premium user on its first day', () => {
1717
const calculator = new DailyBonusPointsCalculator();
1818

19-
expect(calculator.calculate(1,true)).toBe(20);
19+
expect(calculator.calculatePremium(1)).toBe(20);
2020
});
2121

2222
it('Calculate points for a premium user on its second consecutive week', () => {
2323
const calculator = new DailyBonusPointsCalculator();
2424

25-
expect(calculator.calculate(14,true)).toBe(630);
25+
expect(calculator.calculatePremium(14)).toBe(630);
2626
});
2727
});

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /