Мне нужно пройти базовое c модульное тестирование, чтобы увеличить охват моего кода. Мне не нужно делать что-то модное. Требуется только минимум. Таким образом, в этом случае, если я смогу ударить по своему мнению, то это все, что мне нужно сделать. Команда Agile вложена в Team, как вы можете видеть в файле models.py.
models.py -
class Organization(models.Model):
orgname = models.CharField(max_length = 100, blank=True)
def __str__(self):
return str(self.orgname)
class Team(models.Model):
teamID = models.AutoField(primary_key=True)
teamName = models.CharField(max_length = 100, blank=True)
org = models.ForeignKey(Organization, on_delete=models.CASCADE)
def __str__(self):
return str(self.teamName)
class AgileTeam(models.Model):
agileTeamID = models.AutoField(primary_key=True)
agileTeamName = models.CharField(max_length = 100, blank=True)
team = models.ForeignKey(Team, on_delete=models.CASCADE)
def __str__(self):
return str(self.agileTeamName)
views.py -
@csrf_exempt
def newATeam(request):
if request.method == 'POST':
param = json.loads(request.body)
agileteam = param.get('agileteam')
teamname = param.get('teamname')
team = Team.objects.get(teamName = teamname)
AgileTeam.objects.create(agileTeamName=agileteam, team=team)
return JsonResponse(status = 200, data = {})
urls.py -
path('ajax/newATeam/', views_admin.newATeam, name='ajax_newATeam'),
test_views.py -
class TestViews(TestCase):
@classmethod
def setUpTestData(self):
# set-up org
ORG_NAMES = ['REVCYCSCH', 'DIABLO', 'BROTHERHOOD']
for org in ORG_NAMES:
Organization.objects.create(orgname=org)
# set-up team
orgModels = Organization.objects.all()
TEAM_NAMES = ['Blitzkrieg ', 'Hammerheads', 'Mercenaries']
for i in range(len(TEAM_NAMES)):
Team.objects.create(teamName=TEAM_NAMES[i], org=orgModels[i])
# set-up agileteam
teamModels = Team.objects.all()
AGILE_TEAM_NAMES = ['Barons', 'Exterminators ', 'Mavericks', 'Renegades', 'Stratosphere', 'Trojans ']
index = 0
for team in teamModels:
for _ in range(2):
AgileTeam.objects.create(agileTeamName=AGILE_TEAM_NAMES[index], team=team)
index = index + 1
self.client = Client()
def test_newATeam(self):
params = {'agileteam': 'Barons', 'teamname': 'Blitzkrieg'}
response = self.client.post(path = '/ajax/newATeam/', data = params, content_type = 'application/json')
self.assertEqual(response.status_code, 200)
Однако я получаю эту ошибку - Ошибка
Заранее спасибо!