I have a view as such:
def ProjectInfo(request): if request.method == 'POST': form = ProjectInfoForm(request.POST) if form.is_valid(): # if form is valid, iterate cleaned form data # and save data to session for k, v in form.cleaned_data.iteritems(): request.session[k] = v return HttpResponseRedirect('/next/') else: ... else: ...
And in my tests:
from django.test import TestCase, Client from django.core.urlresolvers import reverse from tool.models import Module, Model from django.contrib.sessions.models import Session def test_project_info_form_post_submission(self): """ Test if project info form can be submitted via post. """ # set up our POST data post_data = { 'zipcode': '90210', 'module': self.module1.name, 'model': self.model1.name, 'orientation': 1, 'tilt': 1, 'rails_direction': 1, } ... self.assertEqual(response.status_code, 302) # test if 'zipcode' in session is equal to posted value.
So, where the last comment is in my test, I want to test if a specific value is in the session
dict and that the key:value pairing is correct. How do I go about this? Can I use request.session
?
Any help much appreciated.
According to the docs:
from django.test import TestCase class SimpleTest(TestCase): def test_details(self): # Issue a GET request. self.client.get('/customer/details/') session = self.client.session self.assertEqual(session["somekey"], "test")
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