diff --git a/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/review-algorithmic-thinking-by-building-a-dice-game/657a19e477dc04e36a86dffc.md b/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/review-algorithmic-thinking-by-building-a-dice-game/657a19e477dc04e36a86dffc.md index b89d63dfcb5..a1e6d5551e4 100644 --- a/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/review-algorithmic-thinking-by-building-a-dice-game/657a19e477dc04e36a86dffc.md +++ b/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/review-algorithmic-thinking-by-building-a-dice-game/657a19e477dc04e36a86dffc.md @@ -24,41 +24,67 @@ When your `rulesBtn` is clicked, your `isModalShowing` should be `true`. ```js rulesBtn.click(); assert.isTrue(isModalShowing); +resetState(); ``` When your `rulesBtn` is clicked, your `rulesContainer` should be visible. ```js +rulesBtn.click(); assert.isTrue(rulesContainer.checkVisibility()); +resetState(); ``` When your `rulesBtn` is clicked, your `rulesBtn` should say `Hide rules`. ```js +rulesBtn.click(); assert.strictEqual(rulesBtn.innerText.trim(), "Hide rules"); +resetState(); ``` -When your `rulesBtn` is clicked again, your `isModalShowing` should be `false`. +When your `rulesBtn` is clicked twice, your `isModalShowing` should be `false`. ```js rulesBtn.click(); +assert.isTrue(isModalShowing); +rulesBtn.click(); assert.isFalse(isModalShowing); +resetState(); ``` -When your `rulesBtn` is clicked again, your `rulesContainer` should not be visible. +When your `rulesBtn` is clicked twice, your `rulesContainer` should not be visible. ```js +rulesBtn.click(); +assert.isTrue(rulesContainer.checkVisibility()); +rulesBtn.click(); assert.isFalse(rulesContainer.checkVisibility()); +resetState(); ``` -When your `rulesBtn` is clicked again, your `rulesBtn` should say `Show rules`. +When your `rulesBtn` is clicked twice, your `rulesBtn` should say `Show rules`. ```js +rulesBtn.click(); +assert.strictEqual(rulesBtn.innerText.trim(), "Hide rules"); +rulesBtn.click(); assert.strictEqual(rulesBtn.innerText.trim(), "Show rules"); +resetState(); ``` # --seed-- +## --after-user-code-- + +```js +function resetState() { + isModalShowing = false; + rulesBtn.textContent = 'Show rules'; + rulesContainer.style.display = 'none'; +} +``` + ## --seed-contents-- ```html diff --git a/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/review-algorithmic-thinking-by-building-a-dice-game/657dfeef78fe0364bd241d7f.md b/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/review-algorithmic-thinking-by-building-a-dice-game/657dfeef78fe0364bd241d7f.md index 1d2e649a0db..41a8dd1407b 100644 --- a/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/review-algorithmic-thinking-by-building-a-dice-game/657dfeef78fe0364bd241d7f.md +++ b/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/review-algorithmic-thinking-by-building-a-dice-game/657dfeef78fe0364bd241d7f.md @@ -83,18 +83,30 @@ for (const element of scoreSpans) { You should call your `resetGame` function after displaying the alert in your `keepScoreBtn` listener. ```js -const messages = [] +let called = false; +const oldReset = resetGame; +resetGame = () => { + called = true; + oldReset(); +} + +const messages = []; const oldAlert = alert; -alert = (msg) => {messages.push(msg)}; const oldWindow = window.alert; +alert = (msg) => {messages.push(msg)}; window.alert = (msg) => {messages.push(msg)}; -rolls = 4; +rolls = 1; +round = 6; rollDiceBtn.click(); +document.querySelector('#none').click(); +keepScoreBtn.click(); assert.lengthOf(messages, 0); -rollDiceBtn.click(); +assert.isFalse(called); new Promise(resolve => setTimeout(resolve, 1000)).then(() => { - assert.lengthOf(messages, 0); + assert.lengthOf(messages, 1); + assert.isTrue(called); + resetGame = oldReset; alert = oldAlert; window.alert = oldWindow; });