いつもお世話になっております。掲題の件について質問です。
前提・実現したいこと
いま、Djangoで構築したWebシステムのテストをしています。
テストの中で「アクセス権限の設定されたページにアクセスできるか」の検証を行いたいです。
その際、アクセス権限をユーザに付与するというテストコードを書かなければならないのですが、どうにもうまく書けないため、ご助力いただきたいです。
該当のソースコード
Python
1class TestPurchase(TestCase): 2 def setUp(self): 3 print("# {} is running!".format(self.id())) 4 # データベースにある登録済みのユーザーをself.userにセット 5 self.user = get_user_model().objects.create_user( 6 username='admin', email='admin@example.com', password='pass' 7 ) 8 9 content_type = ContentType.objects.create(app_label='Purchase', 10 model='Purchase') 11 per = Permission.objects.create(content_type_id=content_type.id, 12 name='Can View Purchase', 13 codename='view_Purchase') 14 self.user.user_permissions.set(per) # ここでエラー 15 16 # ログインしておく 17 client = self.client 18 client.login(username='admin', password='pass') 19 20 # permissionがあるとき、indexにアクセスできる。 21 def test_get_success(self): 22 res = self.client.get(reverse('purchase')) 23 self.assertEqual(res.status_code, 200) 24 self.assertTemplateUsed(res, 'purchase/index.html')
補足情報(FW/ツールのバージョンなど)
Django 2.1
Python 3.6
あなたの回答
tips
プレビュー