Skip to content

Commit 6b9979a

Browse files
authored
fix(curriculum): tests passing with seed code in Dice game (freeCodeCamp#55614)
1 parent 0497aac commit 6b9979a

File tree

2 files changed

+46
-8
lines changed

2 files changed

+46
-8
lines changed

curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/review-algorithmic-thinking-by-building-a-dice-game/657a19e477dc04e36a86dffc.md

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,41 +24,67 @@ When your `rulesBtn` is clicked, your `isModalShowing` should be `true`.
2424
```js
2525
rulesBtn.click();
2626
assert.isTrue(isModalShowing);
27+
resetState();
2728
```
2829

2930
When your `rulesBtn` is clicked, your `rulesContainer` should be visible.
3031

3132
```js
33+
rulesBtn.click();
3234
assert.isTrue(rulesContainer.checkVisibility());
35+
resetState();
3336
```
3437

3538
When your `rulesBtn` is clicked, your `rulesBtn` should say `Hide rules`.
3639

3740
```js
41+
rulesBtn.click();
3842
assert.strictEqual(rulesBtn.innerText.trim(), "Hide rules");
43+
resetState();
3944
```
4045

41-
When your `rulesBtn` is clicked again, your `isModalShowing` should be `false`.
46+
When your `rulesBtn` is clicked twice, your `isModalShowing` should be `false`.
4247

4348
```js
4449
rulesBtn.click();
50+
assert.isTrue(isModalShowing);
51+
rulesBtn.click();
4552
assert.isFalse(isModalShowing);
53+
resetState();
4654
```
4755

48-
When your `rulesBtn` is clicked again, your `rulesContainer` should not be visible.
56+
When your `rulesBtn` is clicked twice, your `rulesContainer` should not be visible.
4957

5058
```js
59+
rulesBtn.click();
60+
assert.isTrue(rulesContainer.checkVisibility());
61+
rulesBtn.click();
5162
assert.isFalse(rulesContainer.checkVisibility());
63+
resetState();
5264
```
5365

54-
When your `rulesBtn` is clicked again, your `rulesBtn` should say `Show rules`.
66+
When your `rulesBtn` is clicked twice, your `rulesBtn` should say `Show rules`.
5567

5668
```js
69+
rulesBtn.click();
70+
assert.strictEqual(rulesBtn.innerText.trim(), "Hide rules");
71+
rulesBtn.click();
5772
assert.strictEqual(rulesBtn.innerText.trim(), "Show rules");
73+
resetState();
5874
```
5975

6076
# --seed--
6177

78+
## --after-user-code--
79+
80+
```js
81+
function resetState() {
82+
isModalShowing = false;
83+
rulesBtn.textContent = 'Show rules';
84+
rulesContainer.style.display = 'none';
85+
}
86+
```
87+
6288
## --seed-contents--
6389

6490
```html

curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/review-algorithmic-thinking-by-building-a-dice-game/657dfeef78fe0364bd241d7f.md

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,18 +83,30 @@ for (const element of scoreSpans) {
8383
You should call your `resetGame` function after displaying the alert in your `keepScoreBtn` listener.
8484

8585
```js
86-
const messages = []
86+
let called = false;
87+
const oldReset = resetGame;
88+
resetGame = () => {
89+
called = true;
90+
oldReset();
91+
}
92+
93+
const messages = [];
8794
const oldAlert = alert;
88-
alert = (msg) => {messages.push(msg)};
8995
const oldWindow = window.alert;
96+
alert = (msg) => {messages.push(msg)};
9097
window.alert = (msg) => {messages.push(msg)};
9198

92-
rolls = 4;
99+
rolls = 1;
100+
round = 6;
93101
rollDiceBtn.click();
102+
document.querySelector('#none').click();
103+
keepScoreBtn.click();
94104
assert.lengthOf(messages, 0);
95-
rollDiceBtn.click();
105+
assert.isFalse(called);
96106
new Promise(resolve => setTimeout(resolve, 1000)).then(() => {
97-
assert.lengthOf(messages, 0);
107+
assert.lengthOf(messages, 1);
108+
assert.isTrue(called);
109+
resetGame = oldReset;
98110
alert = oldAlert;
99111
window.alert = oldWindow;
100112
});

0 commit comments

Comments
 (0)