def test_equals(self): # noqa: AAA01 """Проверка сравнения двух клавиатур.""" for result, second, expected, ids in [ (Keyboard(), Keyboard(), True, "both clear"), ( Keyboard(Button("test_desc", {})), Keyboard(Button("test_desc", {})), True, "equals", ), ( Keyboard(Button("first", {})), Keyboard(Button("second", {})), False, "different buttons", ), ( Keyboard(Button("first", {}), Button("first", {})), Keyboard(Button("first", {})), False, "different buttons count", ), ]: with self.subTest(ids): self.assertEqual(result == second, expected)
def build_keyboard(self) -> Keyboard: """Формирование клавиатуры.""" episodes = models.Episode.objects.filter( series=self.episode.series, lang=self.episode.lang, season=self.episode.season, ) buttons = [ Button( episode.episode, { "type": "episode", "id": episode.pk, }, is_active=episode == self.episode, ) for episode in episodes ] keyboard = Keyboard(*buttons) keyboard.append( Button( "К описанию", { "type": "series", "id": self.episode.series.id, "season": self.episode.season, "lang": self.episode.lang, }, )) keyboard.append(Button("Главное меню", {"type": "main"})) return keyboard
def build_keyboard(self) -> Keyboard: """Формирование клавиатуры.""" langs = { episode.lang for episode in models.Episode.objects.filter(series=self.series, season=self.season) } buttons = [ Button( models.Langs.repr(lang, ), { "type": "series", "id": self.series.id, "season": self.season, "lang": lang, }, ) for lang in langs ] keyboard = Keyboard(*buttons) keyboard.append( Button( "К выбору сезона", { "type": "series", "id": self.series.id }, )) keyboard.append(Button("Главное меню", {"type": "main"})) return keyboard
def test_order_buttons(self): """Проверка порядка кнопок.""" buttons = [Button("b", {}), Button("a", {})] result = Keyboard(*buttons) # act self.assertEqual(result.buttons[0], buttons[1]) self.assertEqual(result.buttons[1], buttons[0])
def build_keyboard(self) -> Keyboard: """Формирование клавиатуры.""" buttons = [ Button(series.title, { "type": "series", "id": series.id }) for series in self.qs ] keyboard = Keyboard(*buttons) keyboard.append(Button("Главное меню", {"type": "main"})) return keyboard
def build_keyboard(self) -> Keyboard: """Формирование клавиатуры.""" seasons: set = { season.season for season in models.Episode.objects.filter(series=self.series) } buttons = [ Button( f"Сезон {season}", { "type": "series", "id": self.series.id, "season": season }, ) for season in seasons ] keyboard = Keyboard(*buttons) keyboard.append(Button("Список сериалов", {"type": "all"})) keyboard.append(Button("Главное меню", {"type": "main"})) return keyboard
def test_keyboard(self): """Проверка создания клавиатуры.""" objs_series = [ (models.Series(title_ru=f"Тест_{num}", title_eng=f"Test_{num}")) for num, i in enumerate(range(10)) ] models.Series.objects.bulk_create(objs_series) qs = models.Series.objects.all().order_by("pk") expected = Keyboard( *( Button( s.title, {"type": "series", "id": s.id}, ) for s in qs ) ) expected.append(Button("Главное меню", {"type": "main"})) view = AllSeries(qs) result = view.build_keyboard() self.assertEqual(len(result.buttons), len(objs_series) + 1) self.assertEqual(result, expected)
def build_keyboard(self) -> Keyboard: """Создание клавиатуры.""" return Keyboard( Button("Все сериалы", {"type": "all"}), Button("Главное меню", {"type": "main"}), )
def build_keyboard(self) -> Keyboard: """Создание клавиатуры эпизода.""" return Keyboard(*[])
def build_keyboard(self) -> Keyboard: """Формирование клавиатуры.""" return Keyboard(Button("Главное меню", {"type": "main"}))
def build_keyboard(self) -> Keyboard: """Создание клавиатуры для главного меню.""" return Keyboard(Button("Меню сериалов", {"type": "series"}), Button("Меню фильмов", {}))
def build_keyboard(self) -> "Keyboard": """Формирование клавиатуры.""" return Keyboard( Button("First", {}), Button("Second", {}), )