Михаил
просто resolve(data) или reject(new Error("опс!"));
Михаил
передавай колбэки resolve и reject в свою асинк фукцию
Михаил
вот пишут еще вариант к промису http://plnkr.co/edit/YEdUxkWPRwLCCfygFlnI?p=preview
Михаил
там вариант промиса без явного new Promise(...)
Михаил
обычно да, но почему нет для асинхрона - тоже нормуль
Nikita 🔥
честно говоря, я не совсем все понял
Nikita 🔥
Сейчас методы в моем сервисе выглядят примерно так
Nikita 🔥
Я вызываю этот метод из сервиса и использую then, чтоб выполнить след. метод
Михаил
Я вызываю этот метод из сервиса и использую then, чтоб выполнить след. метод
что-то невнятно, на какойто евент(этот сервис что-ли) навешано еще save
Nikita 🔥
У меня есть календарь, там есть события, и есть сервис этих событий — EventService, в сервисе метод saveEvent
Nikita 🔥
это пояснение к скрину выше
Nikita 🔥
в этом случае да, а вообще обычно возвращаю объект
Nikita 🔥
это библиотека parse server
Михаил
это библиотека parse server
значит что-то эта либа некорректно асинхронит, похоже неправильный вызов ее функционала
Михаил
без ее вызова все нормально выглядит для цепочек .then
Nikita 🔥
Понял, буду искать проблему в библиотеке. Спасибо
Михаил
Понял, буду искать проблему в библиотеке. Спасибо
уже явно в ее вызове странно разделены success и error
Михаил
да не, у него промис вроде правильно, можно сделать через $q.defer() перед event.save(...)
Oleg
Ну во-первых, несколько обескуражен функционалом, который раньше вроде не использовался. Но и да, несколько завидую тому что у кого-то рейтинг есть, а у меня - нет(
Combot
Vlad K. (0) увеличил репутацию Oleg Volodin (1)
Oleg
Что происходит?) Как это работает? Я не вижу команды у бота
Vlad
просто плюсуешь чье-то сообщение
Oleg
просто плюсуешь чье-то сообщение
Или говоришь "спасибо"?
Vlad
возможно, не пробовал
Combot
женя (0) увеличил репутацию Oleg Volodin (2)
Combot
Too fast! Try again later.
Oleg
/stat@combot
Combot
combot.org/c/-1001024737789
Combot
Oleg Volodin (2) увеличил репутацию Vlad K. (1)
Oleg
Да, работает)
Combot
Stas (0) уменьшил репутацию Oleg Volodin (1)
Stas
опа
Combot
Too fast! Try again later.
Combot
Too fast! Try again later.
Vlad
бедный Стас
Stas
проверка функционала)
Stas
поставьте мне кто-то минус плз
Combot
Stas (0) уменьшил репутацию Vlad K. (0)
Combot
женя (0) уменьшил репутацию Stas (-1)
Stas
оооо
Stas
уходит в минус)
Combot
Too fast! Try again later.
Stas
теперь нужно узнать, как проверять репутацию
Stas
это рейтинг, там нет репутации
Stas
ну тут не поспоришь
Oleg
Да я тоже там репутацию не нашел
Combot
Oleg Volodin (1) увеличил репутацию Stas (0)
Stas
Да я тоже там репутацию не нашел
видимо просто ответ для ленивых, вместо "спасибо" пишешь "+"
Sasha
А как вы тестируете поля формы? Например, есть компонент с require: 'ngModel', который по сути является кастомным полем формы. Как в этом случае в юнит тестах просимулировать поле формы в ngModel?
Sasha
Блин, мои вопросы всегда игнорят)
Константин
Блин, мои вопросы всегда игнорят)
не очень понятна суть вопроса
Константин
что значит "поле формы в ngModel"?
Sasha
что значит "поле формы в ngModel"?
То есть пробрасывается ngModelController.
Константин
ты хочешь протестировать наличие значения аттрибута ng-model или какую-то бизнес логику связанную с этим значением?
Denis
Блин, мои вопросы всегда игнорят)
они очень странные, юнит тесты по сути не должны вообще на такие вещи как ngModel полагаться
Sasha
ты хочешь протестировать наличие значения аттрибута ng-model или какую-то бизнес логику связанную с этим значением?
Бизнес-логику, связнную с этим значением. Но это значение должно быть типа ngModelController и иметь все сопуствующие аттрибуты, типа $setViewValue() и прочее
Denis
ты должен мочь переписать на другой фреймворк компонент не переписывая тесты
Denis
тесты отражают спецификацию
Sasha
они очень странные, юнит тесты по сути не должны вообще на такие вещи как ngModel полагаться
С чего? А как тестить компонент тогда, у которого есть require: ngModelController?
Denis
то что значение должно быть типа ngModelController это не бизнес правило, мокай эту имплементацию
Константин
С чего? А как тестить компонент тогда, у которого есть require: ngModelController?
Согласшусь с Денисом М. о том, что компоненты должны быть инкапсулированы и взаимодействовать с тестами на уровне set/get value
Sasha
Дк вот я и спросил, как ее замокать
Denis
>все сопуствующие аттрибуты, типа $setViewValue() это не бизнес правило
Sasha
А как тогда тестировать общее взаимодействие? Например, у меня компонент - кастомное поле в форме. Вся бизнес логика в сервисе, там проблем нет с юнит тестами, но проверки лайфхуков в самом компоненте так же нужно делать. Вдруг они где-то дважды триггерятся и прочее
Denis
Дк вот я и спросил, как ее замокать
давно с анг1 не имел дело, но у фреймворков есть spyOn и прочие помощники
Denis
Общее взаимодействие это вне зоны юнит тестов. Юнит тесты это тесты в изоляции. Насчёт стейтфул компонентов, тестируй как раз таки стейт, к примеру какой стейт компонента должен быть после его создания, какой после определенных взаимодействий, ну и тестирование по спеке самого хтмл(но это тема обширнее т.к не хочется иметь зависимость от реализации верстки, можно вводить специальные атрибуты например)
Denis
Если у тебя юнит тесты проходят на компонент, но хуки не в изоляции не срабатывают, то это проблема скорее не в самом компоненте
Denis
https://stackoverflow.com/a/45601995/887925