Skip to content
This repository has been archived by the owner on Aug 18, 2020. It is now read-only.

Commit

Permalink
Add redo discussion likes.
Browse files Browse the repository at this point in the history
  • Loading branch information
rjacobs31 committed Feb 22, 2017
1 parent 359d325 commit 9063b8e
Showing 1 changed file with 74 additions and 5 deletions.
79 changes: 74 additions & 5 deletions oneplus/tests/test_all_commenting.py
Original file line number Diff line number Diff line change
Expand Up @@ -580,12 +580,81 @@ def test_discussion_like_multiple(self):
self.client.post(reverse(success_page),
data={'like': comment1.id,
'has_liked': True})
# for i in xrange(num_learners):
# self.client.get(reverse('auth.autologin', kwargs={'token': learners[i].unique_token}))
# self.client.get(reverse('learn.right'))
# self.client.post(reverse('learn.right'), data={'like': comment1.id, 'has_liked': True})
# self.client.get(reverse('learn.right'))
resp = self.client.get(reverse('learn.right'), follow=True)
self.assertContains(resp, 'like-empty', count=2)
self.assertContains(resp, 'like-full', count=0)
self.assertContains(resp, ' 0', count=2)

def test_redo_discussion_like_multiple(self):
# login user and create comments
self.client.get(reverse('auth.autologin', kwargs={'token': self.learner.unique_token}))
question = create_test_question('Question 1', self.module, state=TestingQuestion.PUBLISHED)
option_right = create_test_question_option('Question 1 Right', question, correct=True)
option_wrong = create_test_question_option('Question 1 Wrong', question, correct=False)
self.client.get(reverse('learn.next'))
self.client.post(reverse('learn.next'), data={'answer': option_right.id}, follow=True)
self.client.post(reverse('learn.right'), data={'comment': 'Comment1'})
self.client.post(reverse('learn.right'), data={'comment': 'Comment2'})
comment1 = Discussion.objects.get(content='Comment1')
comment2 = Discussion.objects.get(content='Comment2')

# create extra test commenters
num_learners = 5
learners = []
participants = []
for i in xrange(num_learners):
l = create_learner(
self.school,
username="+2712345{0:04d}".format(i),
mobile="+2712345{0:04d}".format(i),
country="country",
area="Test_Area",
unique_token='abc{0:03d}'.format(i),
unique_token_expiry=datetime.now() + timedelta(days=30),
is_staff=True)
learners += [l]

p = create_participant(l, self.classs, datejoined=datetime(2014, 7, 18, 1, 1))
participants += [p]

resp = self.client.get(reverse('learn.right'))
self.assertContains(resp, 'like-empty', count=2)
self.assertContains(resp, 'like-full', count=0)

# get answer wrong with test learners
for i in xrange(num_learners):
self.client.get(reverse('auth.autologin', kwargs={'token': learners[i].unique_token}))
self.client.get(reverse('learn.next'))
self.client.post(reverse('learn.next'),
data={'answer': option_wrong.id},
follow=True)
self.client.post(reverse('learn.wrong'), data={'like': comment1.id})
self.client.get(reverse('learn.wrong'))

# like comment with test learners
for i in xrange(num_learners):
success = i % 2 == 0
success_page = 'learn.redo_right' if success else 'learn.redo_wrong'
self.client.get(reverse('auth.autologin', kwargs={'token': learners[i].unique_token}))
self.client.get(reverse('learn.redo'))
self.client.post(reverse('learn.redo'),
data={'answer': option_right.id if success else option_wrong.id},
follow=True)
self.client.post(reverse(success_page), data={'like': comment1.id})
resp = self.client.get(reverse('learn.redo_right'), follow=True)
self.assertContains(resp, 'like-empty', count=1)
self.assertContains(resp, 'like-full', count=1)
self.assertContains(resp, ' {0:d}'.format(num_learners), count=1)

# unlike with test commenters
for i in xrange(num_learners):
success = i % 2 == 0
success_page = 'learn.redo_right' if success else 'learn.redo_wrong'
self.client.get(reverse('auth.autologin', kwargs={'token': learners[i].unique_token}))
self.client.post(reverse(success_page),
data={'like': comment1.id,
'has_liked': True})
resp = self.client.get(reverse('learn.redo_right'), follow=True)
self.assertContains(resp, 'like-empty', count=2)
self.assertContains(resp, 'like-full', count=0)
self.assertContains(resp, ' 0', count=2)

0 comments on commit 9063b8e

Please sign in to comment.