Пример #1
0
 def test_unread_entry_list_ordering(self):
     """Test user_entry_list will return all unread entries available to
     user, sorted chronologically, oldest to newest."""
     # read a few of the entries so we can exclude them
     for entry in self.feedobj.entry_set.all()[:5]:
         logic.mark_entry_read(self.get_user(), entry)
     self._test_order(logic.user_entry_list(self.get_user(), unread=True))
Пример #2
0
 def test_mark_read_entry_unread(self):
     "A user can mark an entry as being 'read' and then realise they want to come back to read it later so mark it 'unread'"
     # mark an entry as being read
     read_entry = logic.mark_entry_read(self.get_user(), self.entryobj)
     # mark entry as being 'unread'
     read_entry = logic.mark_entry_unread(self.get_user(), self.entryobj)
     self.assertTrue(read_entry.unread)
     # re-mark entry as being read (again)
     read_entry = logic.mark_entry_read(self.get_user(), self.entryobj)
     self.assertFalse(read_entry.unread)  # double negative, ew
Пример #3
0
def quick_republish_entry(request, eid, slug):
    "A user can quickly republish an entry and fill in any optional fields later."
    # NOTE: user doesn't have to be subscribed to the feed the entry
    # came from in order to republish it
    entryobj = get_object_or_404(models.Entry, pk=eid)
    repubobj = logic.republish_entry(request.user, entryobj)
    logic.mark_entry_read(request.user, entryobj)
    if request.is_ajax():
        return json_response("success")
    return named_redirect('reader', entryobj.id)
Пример #4
0
 def test_mark_read(self):
     "A user can mark an entry as being 'read'"
     read_entry = logic.mark_entry_read(self.get_user(), self.entryobj)
     read_entry2 = models.ReadEntry.objects.get(
         user=self.get_user(),
         entry=self.entryobj)  # raises DoesNotExist on error
     # test we have the same two entries
     self.assertEqual(read_entry, read_entry2)
Пример #5
0
 def test_mark_read_twice(self):
     "A user can mark an entry as being 'read' many times without an error."
     for i in range(0, 5):
         # mark the entry read
         read_entry = logic.mark_entry_read(self.get_user(), self.entryobj)
         # fetch the only read entry
         models.ReadEntry.objects.get(
             user=self.get_user(),
             entry=self.entryobj)  # raises DoesNotExist on error
Пример #6
0
def mark_entry_read(request, eid, slug):
    # ensure the entry exists before we attempt to mark it read
    entry = get_object_or_404(models.Entry, pk=eid)
    # note: user doesn't have to be subscribed to the feed entry came
    # from in order to mark it 'read'
    read_entry = logic.mark_entry_read(request.user, entry)
    if request.is_ajax():
        return json_response("success")
    messages.success(request, "Entry marked read.")
    return named_redirect('reader')