I'm trying to test the
return render(request, 'template.html', context)
and seem to be falling short. Is it not worth while testing this? Or if it is worth while testing this, how do I accomplish that?
view.py
def create_employee_profile(request):
name_form = EmployeeNameForm()
context = {'name_form':name_form}
return render(request,
'template_create_employee_profile.html',
context
)
I know the if: else:
statements are missing. I didn't think they were relevant to the test.
test.py
# TEST: context({'name_form':name_form})
def test_CreateEmployeeProfileView_context(self):
name_form = EmployeeNameForm()
response = self.client.get(reverse(
'create_employee_profile'))
self.assertEquals(response.context['name_form'], name_form)
This got me the closest to success. Here's my error:
AssertionError: <Empl[27 chars]alid=False,
fields=(employee_choices;first_nam[20 chars]ame)> !=
<Empl[27 chars]alid=Unknown,
fields=(employee_choices;first_n[22 chars]ame)>
What about the detail view?
# TEST: context({'name':name})
def test_CustomerEmployeeProfileView_context(self):
name = CustomerEmployeeName.objects.get(pk=1)
response = self.client.get(
reverse('service:customer_employee_profile_detail', kwargs={'pk': 1}))
self.assertIsInstance(response.context['name'], name)
Got this error:
TypeError: isinstance() arg 2 must be a type or tuple of types
You are comparing two different instances of the EmployeeNameForm
, which is why the assertion fails.
If you just want to test that the context variable is indeed a EmployeeNameForm
then you can test it with assertIsInstance:
def test_CreateEmployeeProfileView_context(self):
response = self.client.get(reverse('create_employee_profile'))
self.assertIsInstance(response.context['name_form'], EmployeeNameForm)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With