Example #1
0
 def test_get_my_reply_topics(self):
     self.client.login(username=self.user.mobile, password='******')
     other_user = UserFactory()
     UserInGroup.objects.add_user(other_user, self.group)
     my_group_topics = MessageFactory.create_batch(4,
                                                   create_user=other_user,
                                                   group=self.group,
                                                   is_topic=True)
     my_answer1 = MessageFactory.create_batch(
         3,
         create_user=self.user,
         group=self.group,
         is_topic=False,
         answer_to_topic=my_group_topics[0])
     my_answer2 = MessageFactory.create_batch(
         3,
         create_user=self.user,
         group=self.group,
         is_topic=False,
         answer_to_topic=my_group_topics[1])
     not_topics = MessageFactory.create_batch(4,
                                              create_user=self.user,
                                              group=self.group,
                                              is_topic=False)
     url = self.url + '?filter=my_reply'
     rsp = self.client.get(url)
     self.assertResponseRaiseCode(rsp, '0')
     self.assertEqual(rsp.data['result']['count'], 2)
     self.assertEqual(rsp.data['result']['data'][0]['id'],
                      my_group_topics[1].id)
Example #2
0
 def test_get_my_group_topics(self):
     self.client.login(username=self.user.mobile, password='******')
     other_user = UserFactory()
     group1 = UserGroupFactory(create_user=other_user)
     group2 = UserGroupFactory(create_user=other_user)
     UserInGroup.objects.add_user(self.user, group1)
     my_topics = MessageFactory.create_batch(3,
                                             create_user=self.user,
                                             group=self.group,
                                             is_topic=True)
     my_group_topics = MessageFactory.create_batch(3,
                                                   create_user=other_user,
                                                   group=group1,
                                                   is_topic=True)
     not_topics = MessageFactory.create_batch(4,
                                              create_user=self.user,
                                              group=self.group,
                                              is_topic=False)
     not_my_topics = MessageFactory.create_batch(5,
                                                 create_user=other_user,
                                                 group=group2,
                                                 is_topic=True)
     url = self.url + '?filter=my_group'
     rsp = self.client.get(url)
     self.assertResponseRaiseCode(rsp, '0')
     self.assertEqual(rsp.data['result']['count'], 6)
Example #3
0
 def test_answer_topic_with_message_fail_wrong_message_and_topic(self):
     self.client.login(username=self.user.mobile, password='******')
     topic = MessageFactory.create(create_user=self.user,
                                   group=self.group,
                                   is_topic=True)
     message = MessageFactory.create(create_user=self.user,
                                     group=self.group,
                                     is_topic=False)
     url = self.url + str(topic.id) + '/answer-topic/'
     content = '你说的不对'
     data = {'content': content, 'answer_to_message': message.id}
     rsp = self.client.post(url, data=data, format='json')
     self.assertResponseRaiseCode(rsp, '1012')
Example #4
0
 def test_retrieve_topic(self):
     out = self.client.login(username=self.user.mobile, password='******')
     topic = MessageFactory(create_user=self.user,
                            group=self.group1,
                            is_topic=True)
     reply = MessageFactory(create_user=self.user,
                            group=self.group1,
                            is_topic=False,
                            answer_to_topic=topic)
     LikesFactory(user=self.user, message=topic)
     url = self.url + str(topic.id) + '/'
     rsp = self.client.get(url)
     self.assertResponseRaiseCode(rsp, '0')
     self.assertEqual(len(rsp.data['result']['likes']), 1)
     self.assertEqual(rsp.data['result']['likes'][0], topic.id)
Example #5
0
 def test_answer_topic_with_message_success(self):
     self.client.login(username=self.user.mobile, password='******')
     topic = MessageFactory.create(create_user=self.user,
                                   group=self.group,
                                   is_topic=True)
     message = MessageFactory.create(create_user=self.user,
                                     group=self.group,
                                     is_topic=False,
                                     answer_to_topic=topic)
     url = self.url + str(topic.id) + '/answer-topic/'
     content = '你说的不对'
     data = {'content': content, 'answer_to_message': message.id}
     rsp = self.client.post(url, data=data, format='json')
     self.assertResponseRaiseCode(rsp, '0')
     self.assertEqual(rsp.data['result']['content'], content)
Example #6
0
 def test_get_topics_list(self):
     topics1 = MessageFactory.create_batch(3,
                                           create_user=self.user,
                                           group=self.group1,
                                           is_topic=True)
     topics2 = MessageFactory.create_batch(3,
                                           create_user=self.user,
                                           group=self.group2,
                                           is_topic=True)
     not_topics = MessageFactory.create_batch(4,
                                              create_user=self.user,
                                              group=self.group1,
                                              is_topic=False)
     rsp = self.client.get(self.url)
     self.assertResponseRaiseCode(rsp, '0')
     self.assertEqual(rsp.data['result']['count'], 6)
Example #7
0
 def test_like_message_success(self):
     self.client.login(username=self.user.mobile, password='******')
     topic = MessageFactory.create(create_user=self.user,
                                   group=self.group,
                                   is_topic=True)
     url = self.url + str(topic.id) + '/like/'
     rsp = self.client.post(url)
     self.assertResponseRaiseCode(rsp, '0')
Example #8
0
 def test_search_topics_with_q(self):
     topics1 = MessageFactory.create_batch(3,
                                           create_user=self.user,
                                           group=self.group1,
                                           is_topic=True,
                                           title='abcd')
     topics2 = MessageFactory.create_batch(3,
                                           create_user=self.user,
                                           group=self.group2,
                                           is_topic=True)
     not_topics = MessageFactory.create_batch(4,
                                              create_user=self.user,
                                              group=self.group1,
                                              is_topic=False)
     url = self.url + '?q=ab&size=2'
     rsp = self.client.get(url)
     self.assertResponseRaiseCode(rsp, '0')
     self.assertEqual(rsp.data['result']['count'], 3)
     self.assertEqual(len(rsp.data['result']['data']), 2)
Example #9
0
    def test_get_my_like_topics(self):
        self.client.login(username=self.user.mobile, password='******')
        other_user = UserFactory()
        UserInGroup.objects.add_user(other_user, self.group)

        topics = MessageFactory.create_batch(3,
                                             create_user=other_user,
                                             group=self.group,
                                             is_topic=True)
        non_topics = MessageFactory.create_batch(4,
                                                 create_user=other_user,
                                                 group=self.group,
                                                 is_topic=False)
        LikesFactory(user=self.user, message=topics[1])
        LikesFactory(user=self.user, message=topics[0])
        LikesFactory(user=self.user, message=non_topics[0])
        LikesFactory(user=other_user, message=topics[2])
        url = self.url + '?filter=my_like'
        rsp = self.client.get(url)
        self.assertResponseRaiseCode(rsp, '0')
        self.assertEqual(rsp.data['result']['count'], 2)
        self.assertEqual(rsp.data['result']['data'][0]['id'], topics[0].id)