示例#1
0
 def test_read_all_in_subcategory__unexisted_info(self):
     self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 0)
     read_info = SubCategoryReadInfoPrototype.read_all_in_subcategory(self.subcategory, self.account)
     self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 1)
     self.assertEqual(read_info.subcategory_id, self.subcategory.id)
     self.assertEqual(read_info.account_id, self.account.id)
     self.assertTrue(read_info.read_at > datetime.datetime.now() - datetime.timedelta(seconds=1))
     self.assertTrue(read_info.all_read_at > datetime.datetime.now() - datetime.timedelta(seconds=1))
示例#2
0
 def test_read_all_in_subcategory__unexisted_info(self):
     self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 0)
     read_info = SubCategoryReadInfoPrototype.read_all_in_subcategory(self.subcategory, self.account)
     self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 1)
     self.assertEqual(read_info.subcategory_id, self.subcategory.id)
     self.assertEqual(read_info.account_id, self.account.id)
     self.assertTrue(read_info.read_at > datetime.datetime.now() - datetime.timedelta(seconds=1))
     self.assertTrue(read_info.all_read_at > datetime.datetime.now() - datetime.timedelta(seconds=1))
示例#3
0
    def test_remove_old_infos(self):
        read_info_1 = SubCategoryReadInfoPrototype.read_subcategory(self.subcategory, self.account)
        read_info_2 = SubCategoryReadInfoPrototype.read_subcategory(self.subcategory, self.account_2)

        removed_time = datetime.datetime.now() - datetime.timedelta(seconds=forum_settings.UNREAD_STATE_EXPIRE_TIME)
        SubCategoryReadInfoPrototype._model_class.objects.filter(id=read_info_2.id).update(read_at=removed_time)

        self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 2)
        SubCategoryReadInfoPrototype.remove_old_infos()
        self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 1)
        self.assertEqual(SubCategoryReadInfoPrototype._db_get_object(0).id, read_info_1.id)
示例#4
0
    def test_remove_old_infos(self):
        read_info_1 = SubCategoryReadInfoPrototype.read_subcategory(self.subcategory, self.account)
        read_info_2 = SubCategoryReadInfoPrototype.read_subcategory(self.subcategory, self.account_2)

        removed_time = datetime.datetime.now() - datetime.timedelta(seconds=forum_settings.UNREAD_STATE_EXPIRE_TIME)
        SubCategoryReadInfoPrototype._model_class.objects.filter(id=read_info_2.id).update(read_at=removed_time)

        self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 2)
        SubCategoryReadInfoPrototype.remove_old_infos()
        self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 1)
        self.assertEqual(SubCategoryReadInfoPrototype._db_get_object(0).id, read_info_1.id)
示例#5
0
 def test_success(self):
     self.check_ajax_ok(self.client.post(url('forum:read-all-in-subcategory', self.subcat1.id)))
     self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 1)
     read_info = SubCategoryReadInfoPrototype._db_get_object(0)
     self.assertEqual(read_info.account_id, self.account.id)
     self.assertEqual(read_info.subcategory_id, self.subcat1.id)
     self.assertTrue(read_info.all_read_at > datetime.datetime.now() - datetime.timedelta(seconds=1))
示例#6
0
    def test_subcategory(self):
        self.request_logout()
        self.request_login(self.account_2.email)

        self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 0)

        texts = ['cat1-caption', 'subcat1-caption', 'thread1-caption', 'thread2-caption', 'pgf-new-thread-marker', self.fixture.clan_1.abbr]
        self.check_html_ok(self.request_html(url('forum:subcategories:show', self.subcat1.id)), texts=texts)

        self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 1)

        read_info = SubCategoryReadInfoPrototype._db_get_object(0)
        self.assertEqual(read_info.account_id, self.account_2.id)
        self.assertEqual(read_info.subcategory_id, self.subcat1.id)

        self.check_html_ok(self.request_html(url('forum:subcategories:show', self.subcat1.id)), texts=[('pgf-new-thread-marker', 0)])
示例#7
0
 def test_success(self):
     self.check_ajax_ok(self.client.post(url('forum:read-all-in-subcategory', self.subcat1.id)))
     self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 1)
     read_info = SubCategoryReadInfoPrototype._db_get_object(0)
     self.assertEqual(read_info.account_id, self.account.id)
     self.assertEqual(read_info.subcategory_id, self.subcat1.id)
     self.assertTrue(read_info.all_read_at > datetime.datetime.now() - datetime.timedelta(seconds=1))
示例#8
0
    def test_subcategory(self):
        self.request_logout()
        self.request_login(self.account_2.email)

        self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 0)

        texts = ['cat1-caption', 'subcat1-caption', 'thread1-caption', 'thread2-caption', 'pgf-new-thread-marker', self.fixture.clan_1.abbr]
        self.check_html_ok(self.request_html(url('forum:subcategories:show', self.subcat1.id)), texts=texts)

        self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 1)

        read_info = SubCategoryReadInfoPrototype._db_get_object(0)
        self.assertEqual(read_info.account_id, self.account_2.id)
        self.assertEqual(read_info.subcategory_id, self.subcat1.id)

        self.check_html_ok(self.request_html(url('forum:subcategories:show', self.subcat1.id)), texts=[('pgf-new-thread-marker', 0)])
示例#9
0
 def test_unlogined(self):
     self.request_logout()
     self.check_ajax_error(
         self.client.post(
             url('forum:read-all-in-subcategory', self.subcat1.id)),
         'common.login_required')
     self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 0)
示例#10
0
    def test_subcategory__unlogined(self):
        texts = [
            'cat1-caption', 'subcat1-caption', 'thread1-caption',
            'thread2-caption', self.fixture.clan_1.abbr
        ]
        self.request_logout()
        self.check_html_ok(self.request_html(
            url('forum:subcategories:show', self.subcat1.id)),
                           texts=texts)

        self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 0)
示例#11
0
 def test_unlogined(self):
     self.request_logout()
     self.check_ajax_error(self.client.post(url('forum:read-all')), 'common.login_required')
     self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 0)
示例#12
0
    def test_subcategory__unlogined(self):
        texts = ['cat1-caption', 'subcat1-caption', 'thread1-caption', 'thread2-caption', self.fixture.clan_1.abbr]
        self.request_logout()
        self.check_html_ok(self.request_html(url('forum:subcategories:show', self.subcat1.id)), texts=texts)

        self.assertEqual(SubCategoryReadInfoPrototype._db_count(), 0)