def test_list_places_node_id_in_cache(self): user = factory.make_User() cache = {} handler = EventHandler(user, cache) node = factory.make_Node() handler.list({"node_id": node.id}) self.assertEqual([node.id], cache["node_ids"])
def test_list_default_max_days_of_30(self): user = factory.make_User() handler = EventHandler(user, {}) node = factory.make_Node() events = [factory.make_Event(node=node) for _ in range(3)] # Event older than 30 days. self.make_event_in_the_past(node, 31) self.assertItemsEqual(self.dehydrate_events(events), handler.list({"node_id": node.id}))
def test_list_returns_newest_event_first(self): user = factory.make_User() handler = EventHandler(user, {}) node = factory.make_Node() events = [factory.make_Event(node=node) for _ in range(3)] # Other events. for _ in range(3): factory.make_Event() self.assertEqual(self.dehydrate_events(reversed(events)), handler.list({"node_id": node.id}))
def test_list_only_returns_events_for_node(self): user = factory.make_User() handler = EventHandler(user, {}) node = factory.make_Node() events = [factory.make_Event(node=node) for _ in range(3)] # Other events. for _ in range(3): factory.make_Event() self.assertItemsEqual(self.dehydrate_events(events), handler.list({"node_id": node.id}))
def test_list_limit(self): user = factory.make_User() handler = EventHandler(user, {}) node = factory.make_Node() events = list( reversed([factory.make_Event(node=node) for _ in range(6)])) expected_output = self.dehydrate_events(events[:3]) self.assertItemsEqual(expected_output, handler.list({ "node_id": node.id, "limit": 3 }))
def test_list_uses_max_days(self): user = factory.make_User() handler = EventHandler(user, {}) node = factory.make_Node() maxdays = random.randint(3, 50) events = [ self.make_event_in_the_past(user, node, maxdays - 1) for _ in range(3) ] for _ in range(3): self.make_event_in_the_past(user, node, maxdays + 1) self.assertItemsEqual( self.dehydrate_events(events), handler.list({"node_id": node.id, "max_days": maxdays}))
def test_list_start(self): user = factory.make_User() handler = EventHandler(user, {}, None) node = factory.make_Node() events = list( reversed( [factory.make_Event(user=user, node=node) for _ in range(6)])) expected_output = self.dehydrate_events(events[3:]) self.assertItemsEqual( expected_output, handler.list({ "node_id": node.id, "start": events[2].id }))