def test2(self): """ 指定日付の時請求一覧が表示されるかのテスト""" attending_date = date(2019, 8, 1) english_lesson = GenreFactory(name="英語") LessonFactory(genre=english_lesson, attending_date=attending_date) GenreFactory(name="ファイナンス") GenreFactory(name="プログラミング") response = self.client.get(reverse("billing:index"), data={"billing_yyyymm": "2019/08"}) self.assertContains(response, "太宰治") self.assertContains(response, "1レッスン")
def test1(self): """ get_genre_data関数テスト key:ジャンルname, vale:lessonオブジェクト というデータ構造の辞書が返ってくるのか """ GenreFactory(name="英語", basic_rate=5000) GenreFactory(name="ファイナンス", basic_rate=0) GenreFactory(name="プログラミング", basic_rate=20000) actual = get_genre_data() self.assertEqual( actual, { "英語": Genre.objects.get(name="英語"), "ファイナンス": Genre.objects.get(name="ファイナンス"), "プログラミング": Genre.objects.get(name="プログラミング") })
def test3(self): """ 対象月の受講データがなくても一覧が表示されるかの確認""" GenreFactory(name="英語") GenreFactory(name="ファイナンス") GenreFactory(name="プログラミング") response = self.client.get(reverse("report:index"), data={"billing_yyyymm": "2019/08"}) self.assertContains(response, "ジャンル") self.assertContains(response, "性別") self.assertContains(response, "レッスン数") self.assertContains(response, "受講者数") self.assertContains(response, "売り上げ") self.assertContains(response, "年齢層別") self.assertContains(response, "10代") self.assertContains(response, "20代") self.assertContains(response, "30代") self.assertContains(response, "40代") self.assertContains(response, "50代") self.assertContains(response, "60代") self.assertContains(response, "70代") self.assertContains(response, "80代")
def test3(self): """ バリデーションが通らなかった場合""" lesson_log = LessonFactory() genre = GenreFactory() response = self.client.post(reverse("lesson:update", args=(lesson_log.id, )), data={ "account": "", "genre": genre.id, "attending_date": datetime.date(2019, 5, 1), "attending_hour": 4 }) self.assertEqual(400, response.status_code) self.assertTemplateUsed(response, "lesson/lesson_update.html") self.assertFalse(response.context['form'].is_valid())
def test2(self): """ データ更新後、リダイレクト出来るかの確認 そのデータに基づく値が返ってくるか """ account = AccountFactory() genre = GenreFactory(id=1) lesson_log = LessonFactory() response = self.client.post(reverse("lesson:update", args=(lesson_log.id, )), data={ "account": account.id, "genre": genre.id, "attending_date": datetime.date(2019, 5, 1), "attending_hour": 4 }) self.assertRedirects(response, reverse("lesson:index")) lesson_log.refresh_from_db() self.assertEqual(lesson_log.account.id, 1) self.assertEqual(lesson_log.genre.id, 1) self.assertEqual(lesson_log.attending_date, datetime.date(2019, 5, 1)) self.assertEqual(lesson_log.attending_hour, 4)
def setUp(self): self.genre_dict = { "英語": GenreFactory(name="英語", basic_rate=5000), "ファイナンス": GenreFactory(name="ファイナンス", basic_rate=20000), "プログラミング": GenreFactory(name="プログラミング", basic_rate=0), }
def test1(self): """ 英語 : 4時間受講した場合 """ genre = GenreFactory(name="英語", basic_rate=5000) lesson_log = LessonFactory(genre=genre, attending_hour=4) actual = lesson_log.payment() self.assertEqual(actual, 19000)
def test3_ptn4(self): """ プログラミング : 55時間受講した場合""" genre = GenreFactory(name="プログラミング", basic_rate=20000) lesson_log = LessonFactory(genre=genre, attending_hour=55) actual = lesson_log.payment() self.assertEqual(actual, 164500)
def test2_ptn3(self): """ ファイナンス : 55時間受講した場合""" genre = GenreFactory(name="ファイナンス", basic_rate=0) lesson_log = LessonFactory(genre=genre, attending_hour=55) actual = lesson_log.payment() self.assertEqual(actual, 153500)