def test_add_request_to_time_frame_correctly(self): session_id = 'someId' volunteer_id = str(ObjectId()) volunteer = Volunteer('login', 'pw', 'first', 'last', volunteer_id) self.volunteer_handler.active_user_sessions[session_id] = volunteer time_frame = TimeFrame(volunteer_id, datetime.fromisoformat('2020-10-25 12:00:00'), datetime.fromisoformat('2020-10-25 14:00:00'), []) time_frame.id = self.dao.store_one(time_frame.to_db_object()) request_1 = Request(requester=str(ObjectId()), status=RequestStatus.IN_PROGRESS, items=[], volunteer=volunteer_id) request_2 = Request(requester=str(ObjectId()), status=RequestStatus.IN_PROGRESS, items=[], volunteer=volunteer_id) request_1.id = self.requests_dao.store_one(request_1.to_db_object()) request_2.id = self.requests_dao.store_one(request_2.to_db_object()) self.time_frame_handler.add_request_to_time_frame( time_frame.id, request_1.id, session_id) self.time_frame_handler.add_request_to_time_frame( time_frame.id, request_2.id, session_id) time_frames = self.dao.get_time_frames_by_volunteer(volunteer_id) self.assertEqual(len(time_frames), 1) self.assertEqual(str(time_frames[0]['_id']), time_frame.id) self.assertEqual(len(time_frames[0]['requests']), 2) self.assertEqual(str(time_frames[0]['requests'][0]), request_1.id) self.assertEqual(str(time_frames[0]['requests'][1]), request_2.id)
def test_add_request_to_time_frame_with_incorrect_time_frame_id(self): session_id = 'someId' volunteer_id = str(ObjectId()) volunteer = Volunteer('login', 'pw', 'first', 'last', volunteer_id) self.volunteer_handler.active_user_sessions[session_id] = volunteer request = Request(requester=str(ObjectId()), status=RequestStatus.IN_PROGRESS, items=[], volunteer=volunteer_id) request.id = self.requests_dao.store_one(request.to_db_object()) self.assertEqual(len(self.dao.get_all()), 0) with self.assertRaises(ObjectIdNotFoundError): self.time_frame_handler.add_request_to_time_frame( str(ObjectId()), request.id, session_id)
def test_add_request_to_time_frame_with_incorrect_volunteer_id_at_request( self): session_id = 'someId' volunteer_id = str(ObjectId()) other_volunteer_id = str(ObjectId()) volunteer = Volunteer('login', 'pw', 'first', 'last', volunteer_id) self.volunteer_handler.active_user_sessions[session_id] = volunteer time_frame = TimeFrame(volunteer_id, datetime.fromisoformat('2020-10-25 12:00:00'), datetime.fromisoformat('2020-10-25 14:00:00'), []) time_frame.id = self.dao.store_one(time_frame.to_db_object()) request = Request(requester=str(ObjectId()), status=RequestStatus.IN_PROGRESS, items=[], volunteer=other_volunteer_id) request.id = self.requests_dao.store_one(request.to_db_object()) with self.assertRaises(UnauthorizedAccessError): self.time_frame_handler.add_request_to_time_frame( time_frame.id, request.id, session_id)