4.2 KiB
4.2 KiB
id | title | localeTitle | challengeType | isRequired |
---|---|---|---|---|
bd7158d8c443edefaeb5bdef | Timestamp Microservice | Временная метка Микросервис | 4 | true |
Description
Instructions
Tests
tests:
- text: «Он должен обрабатывать правильную дату и возвращать правильную метку времени Unix»
testString: 'getUserInput => $.get(getUserInput(''url'') + ''/api/timestamp/2016-12-25'').then(data => { assert.equal(data.unix, 1482624000000, ''Should be a valid unix timestamp''); }, xhr => { throw new Error(xhr.responseText); })'
- text: «Он должен обрабатывать правильную дату и возвращать правильную строку UTC»
testString: 'getUserInput => $.get(getUserInput(''url'')+ ''/api/timestamp/2016-12-25'').then(data => { assert.equal(data.utc, ''Sun, 25 Dec 2016 00:00:00 GMT'', ''Should be a valid UTC date string''); }, xhr => { throw new Error(xhr.responseText); })'
- text: «Он должен обрабатывать действительную дату Unix и возвращать правильную метку времени Unix»
testString: 'getUserInput => $.get(getUserInput(''url'') + ''/api/timestamp/1482624000000'').then(data => { assert.equal(data.unix, 1482624000000) ; }, xhr => { throw new Error(xhr.responseText); })'
- text: Должно возвращаться ожидаемое сообщение об ошибке для неверной даты
testString: 'getUserInput => $.get(getUserInput(''url'') + ''/api/timestamp/this-is-not-a-date'').then(data => { assert.equal(data.error.toLowerCase(), ''invalid date'');}, xhr => { throw new Error(xhr.responseText); })'
- text: «Он должен обрабатывать пустой параметр даты и возвращать текущее время в формате unix»
testString: 'getUserInput => $.get(getUserInput(''url'') + ''/api/timestamp'').then(data => { var now = Date.now(); assert.approximately(data.unix, now, 20000) ;}, xhr => { throw new Error(xhr.responseText); })'
- text: «Он должен обрабатывать пустой параметр даты и возвращать текущее время в формате UTC»
testString: 'getUserInput => $.get(getUserInput(''url'') + ''/api/timestamp'').then(data => { var now = Date.now(); var serverTime = (new Date(data.utc)).getTime(); assert.approximately(serverTime, now, 20000) ;}, xhr => { throw new Error(xhr.responseText); })'
Challenge Seed
Solution
// solution required