freeCodeCamp/curriculum/challenges/russian/05-apis-and-microservices/apis-and-microservices-proj.../timestamp-microservice.russ...

4.2 KiB
Raw Blame History

id title localeTitle challengeType isRequired
bd7158d8c443edefaeb5bdef Timestamp Microservice Временная метка Микросервис 4 true

Description

Создайте полноценное приложение JavaScript, функционально похожее на это: https://curse-arrow.glitch.me/ . Работа над этим проектом потребует от вас написания кода на Glitch для нашего стартового проекта. После завершения этого проекта вы можете скопировать общедоступный URL-адрес сбоя (на главную страницу вашего приложения) на этот экран, чтобы протестировать его! При желании вы можете написать свой проект на другой платформе, но он должен быть открыт для нашего тестирования. Запустите этот проект на Glitch по этой ссылке или клонируйте этот репозиторий на GitHub! Если вы используете Glitch, не забудьте сохранить ссылку на ваш проект в безопасном месте!

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