fix(curriculum): tests passing with seed code in Dice game (#55614)
parent
0497aac520
commit
6b9979ae50
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue