def test_user_deleted_edited_created(self): ''' Test correct return of CRUD data as json ''' user = User.objects.all()[0] items = crud_items_by_date(user) ura = UserReportingApi() expected_response = json.dumps({ 'values': [{ 'values': [{ "y": 3, "x": 1390867200000.0 }], 'key': 'Deleted items by date' }, { 'values': [{ "y": 3, "x": 1390867200000.0 }], 'key': 'Created items by date' }, { 'values': [{ "y": 3, "x": 1390867200000.0 }], 'key': 'Edited items by date' }], 'title': 'Deleted, created and edited items by date' }) json_response = json.loads(ura.crud_per_day(user.id)) expected_response = json.loads(expected_response) self.assertEqual(expected_response, json_response)
def test_user_login_per_day(self): ''' Test correct return of user login time per day json ''' user = User.objects.all()[0] values = generate_start_end_times(user) ura = UserReportingApi() expected_response = json.dumps({ 'values': [ { 'values': [ { "y": 180, "x": 1370041200000.0 }, { "y": 180, "x": 1370127600000.0 }], 'label': 'user' } ], 'title': 'Total user login time per day' }) json_response = json.loads(ura.total_user_login_per_day(user.id)) expected_response = json.loads(expected_response) self.assertEqual(expected_response, json_response)
def test_user_login_per_day(self): ''' Test correct return of user login time per day json ''' user = User.objects.all()[0] values = generate_start_end_times(user) ura = UserReportingApi() expected_response = json.dumps({ 'values': [{ 'values': [{ "y": 180, "x": 1370041200000.0 }, { "y": 180, "x": 1370127600000.0 }], 'label': 'user' }], 'title': 'Total user login time per day' }) json_response = json.loads(ura.total_user_login_per_day(user.id)) expected_response = json.loads(expected_response) self.assertEqual(expected_response, json_response)
def test_user_assigned_items_by_status(self): ''' Test correct return of user assigned items by status json ''' user = User.objects.all()[0] precreated_bulletin = Bulletin.objects.all()[0] precreated_actor = Actor.objects.all()[0] precreated_incident = Incident.objects.all()[0] comment = Comment( assigned_user_id=user.id, comments_en='comment', status_id=5 ) comment.save() precreated_bulletin.assigned_user = user precreated_bulletin.bulletin_comments.add(comment) precreated_actor.assigned_user = user precreated_actor.actor_comments.add(comment) precreated_incident.assigned_user = user precreated_incident.incident_comments.add(comment) precreated_bulletin.save() precreated_actor.save() precreated_incident.save() status_label = StatusUpdate.objects.filter(pk=5)\ .values('status_en')[0]['status_en'] ura = UserReportingApi() expected_response = json.dumps({ 'values': [ { 'value': 3, 'label': 'Finalized' } ], 'title': 'User assigned items by status' }) json_response = json.loads(ura.user_assigned_items_by_status(user.id)) expected_response = json.loads(expected_response) self.assertEqual(expected_response, json_response)
def test_user_login_time(self): ''' Test correct return of user login time json ''' user = User.objects.all()[0] values = generate_start_end_times(user) expected_response = json.dumps({ 'values': [{ 'value': 360, 'label': 'user' }], 'title': 'Total login time by User' }) ura = UserReportingApi() expected_response = json.loads(expected_response) json_response = json.loads(ura.total_user_login_time()) self.assertEqual(expected_response, json_response)
def test_user_login_time(self): ''' Test correct return of user login time json ''' user = User.objects.all()[0] values = generate_start_end_times(user) expected_response = json.dumps({ 'values': [ { 'value': 360, 'label': 'user' } ], 'title': 'Total login time by User' }) ura = UserReportingApi() expected_response = json.loads(expected_response) json_response = json.loads(ura.total_user_login_time()) self.assertEqual(expected_response, json_response)
def test_user_edited_items(self): ''' Test correct return of user edited items json ''' user = User.objects.all()[0] total_updates = create_version_status_entries_for_user(user) ura = UserReportingApi() expected_response = json.dumps({ 'values': [{ 'value': 3, 'label': 'user' }], 'title': 'Total edited items by User' }) json_response = json.loads(ura.total_user_items_by_crud('edited')) expected_response = json.loads(expected_response) self.assertEqual(expected_response, json_response)
def test_user_assigned_items_by_status(self): ''' Test correct return of user assigned items by status json ''' user = User.objects.all()[0] precreated_bulletin = Bulletin.objects.all()[0] precreated_actor = Actor.objects.all()[0] precreated_incident = Incident.objects.all()[0] comment = Comment(assigned_user_id=user.id, comments_en='comment', status_id=5) comment.save() precreated_bulletin.assigned_user = user precreated_bulletin.bulletin_comments.add(comment) precreated_actor.assigned_user = user precreated_actor.actor_comments.add(comment) precreated_incident.assigned_user = user precreated_incident.incident_comments.add(comment) precreated_bulletin.save() precreated_actor.save() precreated_incident.save() status_label = StatusUpdate.objects.filter(pk=5)\ .values('status_en')[0]['status_en'] ura = UserReportingApi() expected_response = json.dumps({ 'values': [{ 'value': 3, 'label': 'Finalized' }], 'title': 'User assigned items by status' }) json_response = json.loads(ura.user_assigned_items_by_status(user.id)) expected_response = json.loads(expected_response) self.assertEqual(expected_response, json_response)
def test_user_edited_items(self): ''' Test correct return of user edited items json ''' user = User.objects.all()[0] total_updates = create_version_status_entries_for_user(user) ura = UserReportingApi() expected_response = json.dumps({ 'values': [ { 'value': 3, 'label': 'user' } ], 'title': 'Total edited items by User' }) json_response = json.loads(ura.total_user_items_by_crud('edited')) expected_response = json.loads(expected_response) self.assertEqual(expected_response, json_response)
def test_user_average_update(self): ''' Test correct return of user average updates json ''' user = User.objects.all()[0] value = average_updates_value(user) ura = UserReportingApi() expected_response = json.dumps({ 'values': [{ 'value': 0.5, 'label': 'user' }], 'title': 'Average user updates per hour' }) json_response = json.loads(ura.user_average_updates_per_hour()) expected_response = json.loads(expected_response) self.assertEqual(expected_response, json_response)
def test_user_average_update(self): ''' Test correct return of user average updates json ''' user = User.objects.all()[0] value = average_updates_value(user) ura = UserReportingApi() expected_response = json.dumps({ 'values': [ { 'value': 0.5, 'label': 'user' } ], 'title': 'Average user updates per hour' }) json_response = json.loads(ura.user_average_updates_per_hour()) expected_response = json.loads(expected_response) self.assertEqual(expected_response, json_response)
def test_user_deleted_edited_created(self): ''' Test correct return of CRUD data as json ''' user = User.objects.all()[0] items = crud_items_by_date(user) ura = UserReportingApi() expected_response = json.dumps({ 'values': [ { 'values': [{ "y": 3, "x": 1390867200000.0 }], 'key': 'Deleted items by date' }, { 'values': [{ "y": 3, "x": 1390867200000.0 }], 'key': 'Created items by date' }, { 'values': [{ "y": 3, "x": 1390867200000.0 }], 'key': 'Edited items by date' } ], 'title': 'Deleted, created and edited items by date' }) json_response = json.loads(ura.crud_per_day(user.id)) expected_response = json.loads(expected_response) self.maxDiff = None self.assertEqual(expected_response, json_response)
def request_graph_data(request, graph_code, user_id=None): ura = UserReportingApi() if user_id is None: graph_function_map = { 'user_login_time': ura.total_user_login_time, 'user_login_per_day': ura.total_user_login_per_day, 'user_average_updates': ura.user_average_updates_per_hour, 'user_deleted_items': total_deleted_items, 'user_created_items': total_created_items, 'user_edited_items': total_edited_items, } graph_function = graph_function_map[graph_code] json_result = graph_function() else: graph_function_map = { 'user_login_per_day': ura.total_user_login_per_day, 'user_assigned_items_by_status': ura.user_assigned_items_by_status, 'user_deleted_edited_created': ura.crud_per_day, } graph_function = graph_function_map[graph_code] json_result = graph_function_map[graph_code](user_id) return HttpResponse(json_result, content_type='application/json')
def total_deleted_items(): ura = UserReportingApi() return ura.total_user_items_by_crud('deleted')