Module mycalendar.tests
Test module.
Copyright ycookjp
Classes
class MyCalendarModelTest (methodName='runTest')-
Similar to TransactionTestCase, but use
transaction.atomic()to achieve test isolation.In most situations, TestCase should be preferred to TransactionTestCase as it allows faster execution. However, there are some situations where using TransactionTestCase might be necessary (e.g. testing some transactional behavior).
On database backends with no transaction support, TestCase behaves as TransactionTestCase.
Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.
Ancestors
- django.test.testcases.TestCase
- django.test.testcases.TransactionTestCase
- django.test.testcases.SimpleTestCase
- unittest.case.TestCase
Methods
def setUp(self)-
Hook method for setting up the test fixture before exercising it.
def tearDown(self)-
Hook method for deconstructing the test fixture after testing it.
def test_delete_monthly(self)-
delete_monthly ビュー関数のテスト。
- get_monthly/testuser/2020/1および2/ にアクセスして2020年1月と2月の
カレンダー情報を取得してDBに2020年1月と2月のカレンダー情報を作成した
後、delete_monthly/testuser/2020/2/ にアクセスする
- 2020年2月のカレンダー情報が削除される(件数が0件であ)ること
- 2020年1月のカレンダー情報は削除されない(件数が月の日数)であること
- delete_monthly/testuser/2020/0/ にアクセスする
- ValidationErrorが発生すること
- delete_monthly/testuser/2020/13/ にアクセスする
- ValidationErrorが発生すること
- get_monthly/testuser/2020/1および2/ にアクセスして2020年1月と2月の
カレンダー情報を取得してDBに2020年1月と2月のカレンダー情報を作成した
後、delete_monthly/testuser/2020/2/ にアクセスする
def test_get_daily(self)-
get_daily ビュー関数のテスト。
- user:testuser のデータがすべて削除された状態で、
user:testuser、year:2020、month:1、day:2 を指定して
/get_dayly にアクセスする。
- 応答ステータスが正常であること
- 2020年1月2日のカレンダーを取得するとその月のすべての日のデータが作成されること
- 返却されたデータのuserはget_dailyで指定されたユーザーであること
- 返却されたデータの年はget_dailyで指定された年であること
- 返却されたデータの月はget_dailyで指定された月であること
- 返却されたデータの日はget_dailyで指定された日であること
- 返却されたコメントは空であること
- 2020年0月1日を指定して get_daily にアクセスする
- ValidationErrorが発生すること
- 2020年13月1日を指定して get_daily にアクセスする
- ValidationErrorが発生すること
- user:testuser の2020年2月のカレンダー情報が作成されている状態で、
user:testuser、year:2020、month:1、day:0 を指定して /get_dayly に
アクセスする。
- ValidationError 例外が発生すること
- user:testuser の2020年2月のカレンダー情報が作成されている状態で、
user:testuser、year:2020、month:1、day:32 を指定して /get_dayly に
アクセスする。
- ValidationError 例外が発生すること
- user:testuser のデータがすべて削除された状態で、
user:testuser、year:2020、month:1、day:2 を指定して
/get_dayly にアクセスする。
def test_get_monthly(self)-
get_monthly ビュー関数のテスト。
- 2020年1月のカレンダー情報が登録されていない状態で2020年2年を
指定して get_monthly にアクセスする
- 取得したデータ数は月の日数と等しいこと
- 取得した各レコードのユーザーは引数で指定されたユーザーであること
- 取得した各レコードの年は引数で指定された月であること
- 取得した各レコードの月は引数で指定された月であること
- 取得した各レコードのコメントは空であること
- 2020年0月を指定して get_monthly にアクセスする
- ValidationErrorが発生すること
- 2020年13月を指定して get_monthly にアクセスする
- ValidationErrorが発生すること
- 2020年1月のカレンダー情報が登録されていない状態で2020年2年を
指定して get_monthly にアクセスする
def test_save_daily(self)-
save_daily関数のテスト
- ユーザー:testuserの2020年2月1日のカレンダー情報を登録する
- 応答ステータスが正常であること
- 2020年2月のデータがデータベースに登録されていること
- 2020年2月1日のコメントがリクエスト・ボディに指定したものと一致すること
- URLパラメータに指定された年月日以外のデータのコメントは空白であること
- get_daily Web APIで2020年2月1日のカレンダー情報を取得し、コメントを
変更して save_daily にアクセスする
- 応答ステータスが正常であること
- データベースに変更したコメントが反映されること
- ユーザー:testuserの2020年2月29日のコメントを修正する
get_daily Web APIで2020年2月29日の関連だー情報を取得し、コメントを
変更して save_daily にアクセスする
- 応答ステータスが正常であること
- データベースに変更したコメントが反映されること
- 2020年2月のカレンダー情報が存在する状態で2020年2月0日を指定して
/save_daily にアクセスする
- ValidationError 例外が発生すること
- 2020年2月のカレンダー情報が存在する状態で2020年2月30日を指定して
/save_daily にアクセスする
- ValidationError 例外が発生すること
- ユーザー:testuserの2020年2月1日のカレンダー情報を登録する
def test_save_monthly(self)-
save_monthly ビュー関数のテスト
- ユーザー:testuserの2020年2月1日、29日のカレンダー情報を登録する
- 応答ステータスが正常であること
- 2020年2月のデータがデータベースに登録されていること
- 2020年2月1日、29日のコメントがリクエスト・ボディに指定したものと一致すること
- 2020年2月1日、29日以外のデータのコメントは空白であること
- get_monthly Web APIで2020年2月のカレンダー情報を取得し、1日、29日の
コメントを変更して save_monthly にアクセスする
- 応答ステータスが正常であること
- データベースに変更したコメントが反映されること
- 2020年2月のカレンダー情報が存在する状態で2020年2月1日のコメントを
修正し、2020年2月0日を指定したカレンダー情報を最後に設定した
レスポンス・データを設定して /save_daily にアクセスする
- ValidationError 例外が発生すること
- レスポンスデータに設定した2月1日のコメントはDBに登録されていない こと
- 2020年2月のカレンダー情報が存在する状態で2020年2月1日のコメントを
修正し、2020年2月30日を指定したカレンダー情報を最後に設定した
レスポンス・データを設定して /save_daily にアクセスする
- ValidationError 例外が発生すること
- レスポンスデータに設定した2月1日のコメントはDBに登録されていない こと
- 2020年2月のカレンダー情報が存在する状態で2020年2月29日のユーザーを
'test'に修正し、/save_daily にアクセスする
- ValidationError 例外が発生すること
- ユーザー:testuserの2020年2月1日、29日のカレンダー情報を登録する