def test_edit_topic(self): '''用户登录后可以修改自己提交的话题''' new_user = User.objects.create_user("test", "*****@*****.**", "123") member_new_user = Member.objects.create(user=new_user, nickname="Test") self.client.login(username='******', password='******') event = test_helper.create_upcoming_event() test_user_topic = Topic.objects.create(author = member_new_user, in_event = event, \ name = "Test", description = "test", content = "test") response = self.client.get( reverse("edit_topic", kwargs={"id": test_user_topic.id})) self.failUnlessEqual(response.status_code, 200) #如果用户不是此话题的作者,则无法编辑此话题 non_relevant_user = User.objects.create_user("another_user", "*****@*****.**", "123") member_non_relevant_user = Member.objects.create( user=non_relevant_user, nickname="Another") test_non_user_topic = Topic.objects.create(author = member_non_relevant_user, in_event = event, \ name = "Another Topic", description = "test", content = "test") response = self.client.get( reverse("edit_topic", kwargs={"id": test_non_user_topic.id})) self.failUnlessEqual(response.status_code, 302)
def test_topic_model_refactor_last_modified_by_reverse_search(self): '''针对core中models合并后FK外键反向查找中%(class)s是否正常工作的测试(可删除)''' event = test_helper.create_upcoming_event() topic = Topic(name='test', content='test', description='', in_event=event, author=event.last_modified_by, accepted=True) topic.last_modified_by=event.last_modified_by topic.save() topic_should_be = event.last_modified_by.topic_last_modified.all()[0] self.failUnlessEqual(topic, topic_should_be)
def test_captcha_on_submit(self): '''填写了不可见字段的话题被视为spam不可提交''' new_user = User.objects.create_user("tin", "*****@*****.**", "123") self.client.login(username='******', password='******') Member.objects.create(user = new_user, nickname="Tin") event = test_helper.create_upcoming_event() response = self.client.post(reverse("submit_new_topic"), {"title":"iamaspamer",'name':'Test Topic Submitted','description':'Test Topic Description','content':'content','in_event':event.id, 'captcha':'should be empty if human'}) self.assertEquals(response.status_code, 403)
def test_submit_topic(self): '''用户登录后可以成功提交话题''' new_user = User.objects.create_user("tin", "*****@*****.**", "123") self.client.login(username='******', password='******') Member.objects.create(user = new_user, nickname="Tin") event = test_helper.create_upcoming_event() response = self.client.post(reverse("submit_new_topic"), {'name':'Test Topic Submitted','description':'Test Topic Description','content':'content','in_event':event.id}) check_topic = len(Topic.objects.filter(name="Test Topic Submitted")) self.assertEquals(1, check_topic)
def test_topic_poll_status(self): event = test_helper.create_upcoming_event() topic = Topic(name='test', content='test', description='', in_event=event, author=event.last_modified_by, accepted=True) topic.last_modified_by = event.last_modified_by topic.save() self.assertEquals(u'网络投票进行中', topic.poll_status)
def test_captcha_on_submit(self): '''填写了不可见字段的话题被视为spam不可提交''' new_user = User.objects.create_user("tin", "*****@*****.**", "123") self.client.login(username='******', password='******') Member.objects.create(user=new_user, nickname="Tin") event = test_helper.create_upcoming_event() response = self.client.post( reverse("submit_new_topic"), { "title": "iamaspamer", 'name': 'Test Topic Submitted', 'description': 'Test Topic Description', 'content': 'content', 'in_event': event.id }) self.assertEquals(response.status_code, 403)
def test_edit_topic(self): '''用户登录后可以修改自己提交的话题''' new_user = User.objects.create_user("test", "*****@*****.**", "123") member_new_user = Member.objects.create(user = new_user, nickname="Test") self.client.login(username='******', password='******') event = test_helper.create_upcoming_event() test_user_topic = Topic.objects.create(author = member_new_user, in_event = event, \ name = "Test", description = "test", content = "test") response = self.client.get(reverse("edit_topic", kwargs = {"id": test_user_topic.id })) self.failUnlessEqual(response.status_code, 200) #如果用户不是此话题的作者,则无法编辑此话题 non_relevant_user = User.objects.create_user("another_user", "*****@*****.**", "123") member_non_relevant_user = Member.objects.create(user = non_relevant_user, nickname="Another") test_non_user_topic = Topic.objects.create(author = member_non_relevant_user, in_event = event, \ name = "Another Topic", description = "test", content = "test") response = self.client.get(reverse("edit_topic", kwargs = {"id": test_non_user_topic.id })) self.failUnlessEqual(response.status_code, 302)
def test_topic_poll_status(self): event = test_helper.create_upcoming_event() topic = Topic(name='test', content='test', description='', in_event=event, author=event.last_modified_by, accepted=True) topic.last_modified_by=event.last_modified_by topic.save() self.assertEquals(u'网络投票进行中', topic.poll_status)