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))
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)
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))
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)])
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)
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)
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)
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)