diff --git a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator.md b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator.md index 811357c74c..eed2935615 100644 --- a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator.md +++ b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator.md @@ -36,7 +36,7 @@ return "Yes"; # --instructions-- -請使用邏輯或運算符把兩個 `if` 語句合併爲一個語句,如果 `val` 不在 `10` 和 `20` 之間(包括 10 和 20),返回 `Outside`。 否則,返回 `Inside`。 +請使用邏輯或運算符把兩個 `if` 語句合併爲一個語句,如果 `val` 不在 `10` 和 `20` 之間(包括不是 10 和 不是 20),返回 `Outside`。 否則,返回 `Inside`。 # --hints-- diff --git a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables.md b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables.md index 7ba3b3194b..d6b0f9458a 100644 --- a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables.md +++ b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables.md @@ -9,7 +9,7 @@ dashedName: declare-javascript-variables # --description-- -在計算機科學中,數據就是一切,它對於計算機意義重大。 JavaScript 提供七種不同的數據類型,它們是 `undefined`(未定義)、`null`(空)、`boolean`(布爾型)、`string`(字符串)、`symbol`、`number`(數字)、`bigint`(可以表示任意大的整數)和 `object`(對象)。 +在計算機科學中,數據就是一切,它對於計算機意義重大。 JavaScript 提供八種不同的數據類型,它們是 `undefined`(未定義)、`null`(空)、`boolean`(布爾型)、`string`(字符串)、`symbol`、`number`(數字)、`bigint`(可以表示任意大的整數)和 `object`(對象)。 例如,計算機區分數字,例如 `12`,和由字符組成的字符串 `strings`,例如 `"12"`、`"dog"` 或 `"123 cats"`。 計算機可以對數字執行數學運算,但不能對字符串執行數學運算。 diff --git a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions.md b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions.md index 613eeda582..0f3506948b 100644 --- a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions.md +++ b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions.md @@ -29,7 +29,7 @@ myFun(); 修改函數 `abTest` 當 `a` 或 `b` 小於 `0` 時,函數立即返回一個 `undefined` 並退出。 **提示** -記住 [`undefined` 是一個關鍵字](/javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables),而不是一個字符串。 +記住 [`undefined` 是一個關鍵字](https://chinese.freecodecamp.org/news/how-to-install-arch-linux/#how-to-install-arch-linux),而不是一個字符串。 # --hints-- diff --git a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md index 1c3565beb2..7214728b38 100644 --- a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md +++ b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md @@ -568,11 +568,11 @@ async (getUserInput) => { const addExerciseTwoRes = await fetch(url + `/api/users/${_id}/exercises`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-02` + body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-03` }); if (addExerciseRes.ok && addExerciseTwoRes.ok) { const logRes = await fetch( - url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-03` + url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-04` ); if (logRes.ok) { const { log } = await logRes.json(); @@ -591,6 +591,16 @@ async (getUserInput) => { } else { throw new Error(`${limitRes.status} ${limitRes.statusText}`); } + const filterDateBeforeLimitRes = await fetch( + url + `/api/users/${_id}/logs?from=1990-01-02&to=1990-01-04&limit=1` + ); + if (filterDateBeforeLimitRes.ok) { + const { log } = await filterDateBeforeLimitRes.json(); + assert.isArray(log); + assert.equal(1, log.length); + } else { + throw new Error(`${filterDateBeforeLimitRes.status} ${filterDateBeforeLimitRes.statusText}`); + } } else { throw new Error(`${res.status} ${res.statusText}`); } diff --git a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator.md b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator.md index 75679a108a..7245658a2d 100644 --- a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator.md +++ b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator.md @@ -36,7 +36,7 @@ return "Yes"; # --instructions-- -请使用逻辑或运算符把两个 `if` 语句合并为一个语句,如果 `val` 不在 `10` 和 `20` 之间(包括 10 和 20),返回 `Outside`。 否则,返回 `Inside`。 +请使用逻辑或运算符把两个 `if` 语句合并为一个语句,如果 `val` 不在 `10` 和 `20` 之间(包括不是 10 和 不是 20),返回 `Outside`。 否则,返回 `Inside`。 # --hints-- diff --git a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables.md b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables.md index 33784ca0ac..792389fb8f 100644 --- a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables.md +++ b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables.md @@ -9,7 +9,7 @@ dashedName: declare-javascript-variables # --description-- -在计算机科学中,数据就是一切,它对于计算机意义重大。 JavaScript 提供七种不同的数据类型,它们是 `undefined`(未定义)、`null`(空)、`boolean`(布尔型)、`string`(字符串)、`symbol`、`number`(数字)、`bigint`(可以表示任意大的整数)和 `object`(对象)。 +在计算机科学中,数据就是一切,它对于计算机意义重大。 JavaScript 提供八种不同的数据类型,它们是 `undefined`(未定义)、`null`(空)、`boolean`(布尔型)、`string`(字符串)、`symbol`、`number`(数字)、`bigint`(可以表示任意大的整数)和 `object`(对象)。 例如,计算机区分数字,例如 `12`,和由字符组成的字符串 `strings`,例如 `"12"`、`"dog"` 或 `"123 cats"`。 计算机可以对数字执行数学运算,但不能对字符串执行数学运算。 diff --git a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions.md b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions.md index e6f123077c..f7ebc2f84f 100644 --- a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions.md +++ b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions.md @@ -29,7 +29,7 @@ myFun(); 修改函数 `abTest` 当 `a` 或 `b` 小于 `0` 时,函数立即返回一个 `undefined` 并退出。 **提示** -记住 [`undefined` 是一个关键字](/javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables),而不是一个字符串。 +记住 [`undefined` 是一个关键字](https://chinese.freecodecamp.org/news/how-to-install-arch-linux/#how-to-install-arch-linux),而不是一个字符串。 # --hints-- diff --git a/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md b/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md index 3e496a3462..d768a9ef26 100644 --- a/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md +++ b/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md @@ -568,11 +568,11 @@ async (getUserInput) => { const addExerciseTwoRes = await fetch(url + `/api/users/${_id}/exercises`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-02` + body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-03` }); if (addExerciseRes.ok && addExerciseTwoRes.ok) { const logRes = await fetch( - url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-03` + url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-04` ); if (logRes.ok) { const { log } = await logRes.json(); @@ -591,6 +591,16 @@ async (getUserInput) => { } else { throw new Error(`${limitRes.status} ${limitRes.statusText}`); } + const filterDateBeforeLimitRes = await fetch( + url + `/api/users/${_id}/logs?from=1990-01-02&to=1990-01-04&limit=1` + ); + if (filterDateBeforeLimitRes.ok) { + const { log } = await filterDateBeforeLimitRes.json(); + assert.isArray(log); + assert.equal(1, log.length); + } else { + throw new Error(`${filterDateBeforeLimitRes.status} ${filterDateBeforeLimitRes.statusText}`); + } } else { throw new Error(`${res.status} ${res.statusText}`); } diff --git a/curriculum/challenges/espanol/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md b/curriculum/challenges/espanol/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md index 01f2c64d79..079ec75247 100644 --- a/curriculum/challenges/espanol/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md +++ b/curriculum/challenges/espanol/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md @@ -568,11 +568,11 @@ async (getUserInput) => { const addExerciseTwoRes = await fetch(url + `/api/users/${_id}/exercises`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-02` + body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-03` }); if (addExerciseRes.ok && addExerciseTwoRes.ok) { const logRes = await fetch( - url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-03` + url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-04` ); if (logRes.ok) { const { log } = await logRes.json(); @@ -591,6 +591,16 @@ async (getUserInput) => { } else { throw new Error(`${limitRes.status} ${limitRes.statusText}`); } + const filterDateBeforeLimitRes = await fetch( + url + `/api/users/${_id}/logs?from=1990-01-02&to=1990-01-04&limit=1` + ); + if (filterDateBeforeLimitRes.ok) { + const { log } = await filterDateBeforeLimitRes.json(); + assert.isArray(log); + assert.equal(1, log.length); + } else { + throw new Error(`${filterDateBeforeLimitRes.status} ${filterDateBeforeLimitRes.statusText}`); + } } else { throw new Error(`${res.status} ${res.statusText}`); } diff --git a/curriculum/challenges/italian/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md b/curriculum/challenges/italian/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md index c4a734046b..9b46a58761 100644 --- a/curriculum/challenges/italian/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md +++ b/curriculum/challenges/italian/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md @@ -568,11 +568,11 @@ async (getUserInput) => { const addExerciseTwoRes = await fetch(url + `/api/users/${_id}/exercises`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-02` + body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-03` }); if (addExerciseRes.ok && addExerciseTwoRes.ok) { const logRes = await fetch( - url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-03` + url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-04` ); if (logRes.ok) { const { log } = await logRes.json(); @@ -591,6 +591,16 @@ async (getUserInput) => { } else { throw new Error(`${limitRes.status} ${limitRes.statusText}`); } + const filterDateBeforeLimitRes = await fetch( + url + `/api/users/${_id}/logs?from=1990-01-02&to=1990-01-04&limit=1` + ); + if (filterDateBeforeLimitRes.ok) { + const { log } = await filterDateBeforeLimitRes.json(); + assert.isArray(log); + assert.equal(1, log.length); + } else { + throw new Error(`${filterDateBeforeLimitRes.status} ${filterDateBeforeLimitRes.statusText}`); + } } else { throw new Error(`${res.status} ${res.statusText}`); } diff --git a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions.md b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions.md index 2ee8a92478..0ba0361754 100644 --- a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions.md +++ b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions.md @@ -23,7 +23,7 @@ myTest(); console.log(loc); ``` -`myTest()` 関数の呼び出しでは、コンソールに文字列 `foo` が表示されます。 `console.log(loc)` の行はエラーをスローします。これは、関数の外側では `loc` が定義されていないためです。 +`myTest()` 関数の呼び出しでは、コンソールに文字列 `foo` が表示されます。 The `console.log(loc)` line (outside of the `myTest` function) will throw an error, as `loc` is not defined outside of the function. # --instructions-- diff --git a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional.md b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional.md index 53ac0ca15e..c400fcd4e9 100644 --- a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional.md +++ b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional.md @@ -60,6 +60,12 @@ assert.isUndefined(addTogether(2, '3')); assert.isUndefined(addTogether(2)([3])); ``` +`addTogether("2", 3)` should return `undefined`. + +```js +assert.isUndefined(addTogether('2', 3)); +``` + # --seed-- ## --seed-contents-- diff --git a/curriculum/challenges/japanese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md b/curriculum/challenges/japanese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md index 84b920b9d4..64146cb56a 100644 --- a/curriculum/challenges/japanese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md +++ b/curriculum/challenges/japanese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md @@ -568,11 +568,11 @@ async (getUserInput) => { const addExerciseTwoRes = await fetch(url + `/api/users/${_id}/exercises`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-02` + body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-03` }); if (addExerciseRes.ok && addExerciseTwoRes.ok) { const logRes = await fetch( - url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-03` + url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-04` ); if (logRes.ok) { const { log } = await logRes.json(); @@ -591,6 +591,16 @@ async (getUserInput) => { } else { throw new Error(`${limitRes.status} ${limitRes.statusText}`); } + const filterDateBeforeLimitRes = await fetch( + url + `/api/users/${_id}/logs?from=1990-01-02&to=1990-01-04&limit=1` + ); + if (filterDateBeforeLimitRes.ok) { + const { log } = await filterDateBeforeLimitRes.json(); + assert.isArray(log); + assert.equal(1, log.length); + } else { + throw new Error(`${filterDateBeforeLimitRes.status} ${filterDateBeforeLimitRes.statusText}`); + } } else { throw new Error(`${res.status} ${res.statusText}`); } diff --git a/curriculum/challenges/japanese/10-coding-interview-prep/data-structures/depth-first-search.md b/curriculum/challenges/japanese/10-coding-interview-prep/data-structures/depth-first-search.md index b90507fde6..88349ab43b 100644 --- a/curriculum/challenges/japanese/10-coding-interview-prep/data-structures/depth-first-search.md +++ b/curriculum/challenges/japanese/10-coding-interview-prep/data-structures/depth-first-search.md @@ -49,7 +49,24 @@ assert.sameMembers( ); ``` -`1` を開始ノードとする入力グラフ `[[0, 1, 0, 0], [1, 0, 1, 0], [0, 1, 0, 1], [0, 0, 1, 0]]` は、4 つの要素を持つ配列を返す必要があります。 +The input graph `[[0, 1, 0, 0], [1, 0, 1, 0], [0, 1, 0, 1], [0, 0, 1, 0]]` with a start node of `3` should return an array with `3`, `2`, `1`, and `0`. + +```js +assert.sameMembers( + (function () { + var graph = [ + [0, 1, 0, 0], + [1, 0, 1, 0], + [0, 1, 0, 1], + [0, 0, 1, 0] + ]; + return dfs(graph, 3); + })(), + [3, 2, 1, 0] +); +``` + +The input graph `[[0, 1, 0, 0], [1, 0, 1, 0], [0, 1, 0, 1], [0, 0, 1, 0]]` with a start node of `1` should return an array with four elements. ```js assert( @@ -65,7 +82,7 @@ assert( ); ``` -`3` を開始ノードとする入力グラフ `[[0, 1, 0, 0], [1, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 0]]` は、`3` を持つ配列を返す必要があります。 +The input graph `[[0, 1, 0, 0], [1, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 0]]` with a start node of `3` should return an array with `3`. ```js assert.sameMembers( @@ -82,7 +99,7 @@ assert.sameMembers( ); ``` -`3` を開始ノードとする入力グラフ `[[0, 1, 0, 0], [1, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 0]]` は、1 つの要素を持つ配列を返す必要があります。 +The input graph `[[0, 1, 0, 0], [1, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 0]]` with a start node of `3` should return an array with one element. ```js assert( @@ -98,7 +115,7 @@ assert( ); ``` -`3` を開始ノードとする入力グラフ `[[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0]]`は、`2` と `3` を持つ配列を返す必要があります。 +The input graph `[[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0]]` with a start node of `3` should return an array with `2` and `3`. ```js assert.sameMembers( @@ -115,7 +132,7 @@ assert.sameMembers( ); ``` -`3` を開始ノードとする入力グラフ `[[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0]]` は、2 つの要素を持つ配列を返す必要があります。 +The input graph `[[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0]]` with a start node of `3` should return an array with two elements. ```js assert( @@ -131,7 +148,7 @@ assert( ); ``` -`0` を開始ノードとする入力グラフ `[[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0]]` は、`0` と `1` を持つ配列を返す必要があります。 +The input graph `[[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0]]` with a start node of `0` should return an array with `0` and `1`. ```js assert.sameMembers( @@ -148,7 +165,7 @@ assert.sameMembers( ); ``` -`0` を開始ノードとする入力グラフ `[[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0]]` は、2 つの要素を持つ配列を返す必要があります。 +The input graph `[[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0]]` with a start node of `0` should return an array with two elements. ```js assert( diff --git a/curriculum/challenges/portuguese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md b/curriculum/challenges/portuguese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md index 90c7c6bdd4..4f7a421016 100644 --- a/curriculum/challenges/portuguese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md +++ b/curriculum/challenges/portuguese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md @@ -568,11 +568,11 @@ async (getUserInput) => { const addExerciseTwoRes = await fetch(url + `/api/users/${_id}/exercises`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-02` + body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-03` }); if (addExerciseRes.ok && addExerciseTwoRes.ok) { const logRes = await fetch( - url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-03` + url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-04` ); if (logRes.ok) { const { log } = await logRes.json(); @@ -591,6 +591,16 @@ async (getUserInput) => { } else { throw new Error(`${limitRes.status} ${limitRes.statusText}`); } + const filterDateBeforeLimitRes = await fetch( + url + `/api/users/${_id}/logs?from=1990-01-02&to=1990-01-04&limit=1` + ); + if (filterDateBeforeLimitRes.ok) { + const { log } = await filterDateBeforeLimitRes.json(); + assert.isArray(log); + assert.equal(1, log.length); + } else { + throw new Error(`${filterDateBeforeLimitRes.status} ${filterDateBeforeLimitRes.statusText}`); + } } else { throw new Error(`${res.status} ${res.statusText}`); } diff --git a/curriculum/challenges/ukrainian/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md b/curriculum/challenges/ukrainian/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md index dee98d62ea..0e3d16d9ad 100644 --- a/curriculum/challenges/ukrainian/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md +++ b/curriculum/challenges/ukrainian/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md @@ -568,11 +568,11 @@ async (getUserInput) => { const addExerciseTwoRes = await fetch(url + `/api/users/${_id}/exercises`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-02` + body: `description=${expected.description}&duration=${expected.duration}&date=1990-01-03` }); if (addExerciseRes.ok && addExerciseTwoRes.ok) { const logRes = await fetch( - url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-03` + url + `/api/users/${_id}/logs?from=1989-12-31&to=1990-01-04` ); if (logRes.ok) { const { log } = await logRes.json(); @@ -591,6 +591,16 @@ async (getUserInput) => { } else { throw new Error(`${limitRes.status} ${limitRes.statusText}`); } + const filterDateBeforeLimitRes = await fetch( + url + `/api/users/${_id}/logs?from=1990-01-02&to=1990-01-04&limit=1` + ); + if (filterDateBeforeLimitRes.ok) { + const { log } = await filterDateBeforeLimitRes.json(); + assert.isArray(log); + assert.equal(1, log.length); + } else { + throw new Error(`${filterDateBeforeLimitRes.status} ${filterDateBeforeLimitRes.statusText}`); + } } else { throw new Error(`${res.status} ${res.statusText}`); }