MovieQuiz - это приложение с квизами о фильмах из топ-250 рейтинга и самых популярных фильмах по версии IMDb.
В качестве домашнего задания предлагаем доработать программу:
- Написаны unit- и UI-тесты.
- Произведён рефакторинг кода на архитектуру MVP.
- Написаны и проходят unit-тесты:
- На сабскрипт для безопасного получения элемента массива по индексу (
ArrayTests
); - На сервис
MoviesLoader
(для проверки успешной загрузки и для проверки ошибкиMoviesLoaderTests
). Также в качестве самостоятельной практики вы могли покрыть и другие классы unit-тестами в своём проекте.
- Написаны и проходят UI-тесты:
- Два теста на замену одного постера на другой при нажатии кнопки ответа —
- Тест кнопки
Да
(при нажатии на кнопкуДа
меняется лейбл с номером вопроса). - Тест кнопки
Нет
(при нажатии на кнопкуНет
меняется лейбл с номером вопроса).
- Тест кнопки
- Тест появления алерта при окончании раунда (вам нужно проверить, что алерт появился, протестировать текст на кнопке и в заголовке алерта).
- Тест скрытия алерта после нажатия на кнопку на нём (в этом тесте нужно проверить, что алерт отсутствует на экране и счётчик вопросов сбросился к значению 1/10).
- Проведён рефакторинг проекта — отрефакторен
MovieQuizViewController
на архитектуру MVP по шагам из 3 и 4 уроков темы 5. - Написан и проходит тест для
convert(model: QuizQuestion) -> QuizStepViewModel
.