We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Remove ViewTest where possible
Right now we have a `class ViewTest`, for which there is one subclass for each view that we have.

For views that we have tested properly, it provides no additional value and I I propose to replace it with the original `WebTest`. 

Originally I proposed to remove it altogether and copypaste its test to all the test cases that wouldn't have any valuable test otherwise. @janno42 convinced me to leave it there and rename it to `WebTestWith200Check` instead.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `evap/evaluation/migrations/0002_initial_data.py`
Content:
```
1 from django.db import migrations
2 from django.contrib.auth.models import Group
3 
4 
5 def insert_emailtemplates(apps, _schema_editor):
6     emailtemplates = [
7         ("Lecturer Review Notice", "[EvaP] New Course ready for approval"),
8         ("Student Reminder", "[EvaP] Evaluation period is ending"),
9         ("Publishing Notice", "[EvaP] A course has been published"),
10         ("Login Key Created", "[EvaP] A login key was created"),
11     ]
12 
13     EmailTemplate = apps.get_model("evaluation", "EmailTemplate")
14 
15     for name, subject in emailtemplates:
16         if not EmailTemplate.objects.filter(name=name).exists():
17             EmailTemplate.objects.create(name=name, subject=subject, body="")
18 
19     Group.objects.create(name="Staff")
20 
21 
22 class Migration(migrations.Migration):
23 
24     dependencies = [
25         ('evaluation', '0001_initial'),
26     ]
27 
28     operations = [
29         migrations.RunPython(insert_emailtemplates),
30     ]
31
```

Path: `evap/grades/migrations/0002_initial_data.py`
Content:
```
1 from django.db import migrations
2 from django.contrib.auth.models import Group
3 
4 
5 def add_group(_apps, _schema_editor):
6     Group.objects.create(name="Grade publisher")
7 
8 
9 class Migration(migrations.Migration):
10 
11     dependencies = [
12         ('grades', '0001_initial'),
13     ]
14 
15     operations = [
16         migrations.RunPython(add_group),
17     ]
18
```

Path: `evap/evaluation/migrations/0055_reviewer_group.py`
Content:
```
1 from django.contrib.auth.models import Group
2 from django.db import migrations
3 
4 
5 def add_group(_apps, _schema_editor):
6     Group.objects.create(name="Reviewer")
7 
8 
9 def delete_group(_apps, _schema_editor):
10     Group.objects.get(name="Reviewer").delete()
11 
12 
13 class Migration(migrations.Migration):
14 
15     dependencies = [
16         ('evaluation', '0054_userprofile_language'),
17     ]
18 
19     operations = [
20         migrations.RunPython(add_group, reverse_code=delete_group),
21     ]
22
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/evap/evaluation/migrations/0002_initial_data.py b/evap/evaluation/migrations/0002_initial_data.py
--- a/evap/evaluation/migrations/0002_initial_data.py
+++ b/evap/evaluation/migrations/0002_initial_data.py
@@ -1,5 +1,4 @@
 from django.db import migrations
-from django.contrib.auth.models import Group
 
 
 def insert_emailtemplates(apps, _schema_editor):
@@ -16,6 +15,7 @@
         if not EmailTemplate.objects.filter(name=name).exists():
             EmailTemplate.objects.create(name=name, subject=subject, body="")
 
+    Group = apps.get_model("auth", "Group")
     Group.objects.create(name="Staff")
 
 
diff --git a/evap/evaluation/migrations/0055_reviewer_group.py b/evap/evaluation/migrations/0055_reviewer_group.py
--- a/evap/evaluation/migrations/0055_reviewer_group.py
+++ b/evap/evaluation/migrations/0055_reviewer_group.py
@@ -1,12 +1,13 @@
-from django.contrib.auth.models import Group
 from django.db import migrations
 
 
-def add_group(_apps, _schema_editor):
+def add_group(apps, _schema_editor):
+    Group = apps.get_model("auth", "Group")
     Group.objects.create(name="Reviewer")
 
 
-def delete_group(_apps, _schema_editor):
+def delete_group(apps, _schema_editor):
+    Group = apps.get_model("auth", "Group")
     Group.objects.get(name="Reviewer").delete()
 
 
diff --git a/evap/grades/migrations/0002_initial_data.py b/evap/grades/migrations/0002_initial_data.py
--- a/evap/grades/migrations/0002_initial_data.py
+++ b/evap/grades/migrations/0002_initial_data.py
@@ -1,8 +1,8 @@
 from django.db import migrations
-from django.contrib.auth.models import Group
 
 
-def add_group(_apps, _schema_editor):
+def add_group(apps, _schema_editor):
+    Group = apps.get_model("auth", "Group")
     Group.objects.create(name="Grade publisher")

{"golden_diff": "diff --git a/evap/evaluation/migrations/0002_initial_data.py b/evap/evaluation/migrations/0002_initial_data.py\n--- a/evap/evaluation/migrations/0002_initial_data.py\n+++ b/evap/evaluation/migrations/0002_initial_data.py\n@@ -1,5 +1,4 @@\n from django.db import migrations\n-from django.contrib.auth.models import Group\n \n \n def insert_emailtemplates(apps, _schema_editor):\n@@ -16,6 +15,7 @@\n         if not EmailTemplate.objects.filter(name=name).exists():\n             EmailTemplate.objects.create(name=name, subject=subject, body=\"\")\n \n+    Group = apps.get_model(\"auth\", \"Group\")\n     Group.objects.create(name=\"Staff\")\n \n \ndiff --git a/evap/evaluation/migrations/0055_reviewer_group.py b/evap/evaluation/migrations/0055_reviewer_group.py\n--- a/evap/evaluation/migrations/0055_reviewer_group.py\n+++ b/evap/evaluation/migrations/0055_reviewer_group.py\n@@ -1,12 +1,13 @@\n-from django.contrib.auth.models import Group\n from django.db import migrations\n \n \n-def add_group(_apps, _schema_editor):\n+def add_group(apps, _schema_editor):\n+    Group = apps.get_model(\"auth\", \"Group\")\n     Group.objects.create(name=\"Reviewer\")\n \n \n-def delete_group(_apps, _schema_editor):\n+def delete_group(apps, _schema_editor):\n+    Group = apps.get_model(\"auth\", \"Group\")\n     Group.objects.get(name=\"Reviewer\").delete()\n \n \ndiff --git a/evap/grades/migrations/0002_initial_data.py b/evap/grades/migrations/0002_initial_data.py\n--- a/evap/grades/migrations/0002_initial_data.py\n+++ b/evap/grades/migrations/0002_initial_data.py\n@@ -1,8 +1,8 @@\n from django.db import migrations\n-from django.contrib.auth.models import Group\n \n \n-def add_group(_apps, _schema_editor):\n+def add_group(apps, _schema_editor):\n+    Group = apps.get_model(\"auth\", \"Group\")\n     Group.objects.create(name=\"Grade publisher\")\n", "issue": "Remove ViewTest where possible\nRight now we have a `class ViewTest`, for which there is one subclass for each view that we have.\r\n\r\nFor views that we have tested properly, it provides no additional value and I I propose to replace it with the original `WebTest`. \r\n\r\nOriginally I proposed to remove it altogether and copypaste its test to all the test cases that wouldn't have any valuable test otherwise. @janno42 convinced me to leave it there and rename it to `WebTestWith200Check` instead.\n", "before_files": [{"content": "from django.db import migrations\nfrom django.contrib.auth.models import Group\n\n\ndef insert_emailtemplates(apps, _schema_editor):\n    emailtemplates = [\n        (\"Lecturer Review Notice\", \"[EvaP] New Course ready for approval\"),\n        (\"Student Reminder\", \"[EvaP] Evaluation period is ending\"),\n        (\"Publishing Notice\", \"[EvaP] A course has been published\"),\n        (\"Login Key Created\", \"[EvaP] A login key was created\"),\n    ]\n\n    EmailTemplate = apps.get_model(\"evaluation\", \"EmailTemplate\")\n\n    for name, subject in emailtemplates:\n        if not EmailTemplate.objects.filter(name=name).exists():\n            EmailTemplate.objects.create(name=name, subject=subject, body=\"\")\n\n    Group.objects.create(name=\"Staff\")\n\n\nclass Migration(migrations.Migration):\n\n    dependencies = [\n        ('evaluation', '0001_initial'),\n    ]\n\n    operations = [\n        migrations.RunPython(insert_emailtemplates),\n    ]\n", "path": "evap/evaluation/migrations/0002_initial_data.py"}, {"content": "from django.db import migrations\nfrom django.contrib.auth.models import Group\n\n\ndef add_group(_apps, _schema_editor):\n    Group.objects.create(name=\"Grade publisher\")\n\n\nclass Migration(migrations.Migration):\n\n    dependencies = [\n        ('grades', '0001_initial'),\n    ]\n\n    operations = [\n        migrations.RunPython(add_group),\n    ]\n", "path": "evap/grades/migrations/0002_initial_data.py"}, {"content": "from django.contrib.auth.models import Group\nfrom django.db import migrations\n\n\ndef add_group(_apps, _schema_editor):\n    Group.objects.create(name=\"Reviewer\")\n\n\ndef delete_group(_apps, _schema_editor):\n    Group.objects.get(name=\"Reviewer\").delete()\n\n\nclass Migration(migrations.Migration):\n\n    dependencies = [\n        ('evaluation', '0054_userprofile_language'),\n    ]\n\n    operations = [\n        migrations.RunPython(add_group, reverse_code=delete_group),\n    ]\n", "path": "evap/evaluation/migrations/0055_reviewer_group.py"}], "after_files": [{"content": "from django.db import migrations\n\n\ndef insert_emailtemplates(apps, _schema_editor):\n    emailtemplates = [\n        (\"Lecturer Review Notice\", \"[EvaP] New Course ready for approval\"),\n        (\"Student Reminder\", \"[EvaP] Evaluation period is ending\"),\n        (\"Publishing Notice\", \"[EvaP] A course has been published\"),\n        (\"Login Key Created\", \"[EvaP] A login key was created\"),\n    ]\n\n    EmailTemplate = apps.get_model(\"evaluation\", \"EmailTemplate\")\n\n    for name, subject in emailtemplates:\n        if not EmailTemplate.objects.filter(name=name).exists():\n            EmailTemplate.objects.create(name=name, subject=subject, body=\"\")\n\n    Group = apps.get_model(\"auth\", \"Group\")\n    Group.objects.create(name=\"Staff\")\n\n\nclass Migration(migrations.Migration):\n\n    dependencies = [\n        ('evaluation', '0001_initial'),\n    ]\n\n    operations = [\n        migrations.RunPython(insert_emailtemplates),\n    ]\n", "path": "evap/evaluation/migrations/0002_initial_data.py"}, {"content": "from django.db import migrations\n\n\ndef add_group(apps, _schema_editor):\n    Group = apps.get_model(\"auth\", \"Group\")\n    Group.objects.create(name=\"Grade publisher\")\n\n\nclass Migration(migrations.Migration):\n\n    dependencies = [\n        ('grades', '0001_initial'),\n    ]\n\n    operations = [\n        migrations.RunPython(add_group),\n    ]\n", "path": "evap/grades/migrations/0002_initial_data.py"}, {"content": "from django.db import migrations\n\n\ndef add_group(apps, _schema_editor):\n    Group = apps.get_model(\"auth\", \"Group\")\n    Group.objects.create(name=\"Reviewer\")\n\n\ndef delete_group(apps, _schema_editor):\n    Group = apps.get_model(\"auth\", \"Group\")\n    Group.objects.get(name=\"Reviewer\").delete()\n\n\nclass Migration(migrations.Migration):\n\n    dependencies = [\n        ('evaluation', '0054_userprofile_language'),\n    ]\n\n    operations = [\n        migrations.RunPython(add_group, reverse_code=delete_group),\n    ]\n", "path": "evap/evaluation/migrations/0055_reviewer_group.py"}]}