すべての AJAX 検証コードを Django Forms に移動しました。テストの更新に助けが必要です。私は基本的に、すべてのスイートで使用される、定数として宣言されたいくつかのテスト データを持っています。次に、テスト全体でこのデータを繰り返します。
セットアップの一環として、いくつかのユーザーを作成し、必要なユーザーにログインします。
def setUp(self):
self.client = Client()
create_user(username='staff', email='staff@staff.com',
password='staff', staff=True)
create_user(username='agent', email='agent@agent.com',
password='agent', staff=False)
ShiftType.objects.create(type_id='SI', description='Sales Inbox')
self.client.login(username='staff', password='staff')
破棄すると、次のデータが削除されます (または以前は削除されていました)。
def tearDown(self):
# Clean up the DB
self.client.logout()
ShiftType.objects.all().delete()
User.objects.all().delete()
Event.objects.all().delete()
RecurrentEvent.objects.all().delete()
これは正常に機能していましたが、ユーザーが指定したフォーム値 ID が毎回インクリメントされるため、フォームは検証されません。例えば:
ERROR: <ul class="errorlist"><li>employee_id<ul class="errorlist"><li>Select a valid choice. That choice is not one of the available choices.</li></ul></li></ul>
フォームを印刷すると、ID が毎回インクリメントされていることがわかります。
すべての従業員を削除しているのに、なぜこれが起こるのですか?