def test_update_user_story_timeline(): user_watcher = factories.UserFactory() user_story = factories.UserStoryFactory.create(subject="test us timeline") history_services.take_snapshot(user_story, user=user_story.owner) user_story.add_watcher(user_watcher) user_story.subject = "test us timeline updated" user_story.save() history_services.take_snapshot(user_story, user=user_story.owner) project_timeline = service.get_project_timeline(user_story.project) assert project_timeline[0].event_type == "userstories.userstory.change" assert project_timeline[0].data["userstory"][ "subject"] == "test us timeline updated" assert project_timeline[0].data["values_diff"]["subject"][ 0] == "test us timeline" assert project_timeline[0].data["values_diff"]["subject"][ 1] == "test us timeline updated" user_watcher_timeline = service.get_profile_timeline(user_watcher) assert user_watcher_timeline[ 0].event_type == "userstories.userstory.change" assert user_watcher_timeline[0].data["userstory"][ "subject"] == "test us timeline updated" assert user_watcher_timeline[0].data["values_diff"]["subject"][ 0] == "test us timeline" assert user_watcher_timeline[0].data["values_diff"]["subject"][ 1] == "test us timeline updated"
def test_update_milestone_timeline(): user_watcher = factories.UserFactory() milestone = factories.MilestoneFactory.create( name="test milestone timeline") history_services.take_snapshot(milestone, user=milestone.owner) milestone.add_watcher(user_watcher) milestone.name = "test milestone timeline updated" milestone.save() history_services.take_snapshot(milestone, user=milestone.owner) project_timeline = service.get_project_timeline(milestone.project) assert project_timeline[0].event_type == "milestones.milestone.change" assert project_timeline[0].data["milestone"][ "name"] == "test milestone timeline updated" assert project_timeline[0].data["values_diff"]["name"][ 0] == "test milestone timeline" assert project_timeline[0].data["values_diff"]["name"][ 1] == "test milestone timeline updated" user_watcher_timeline = service.get_profile_timeline(user_watcher) assert user_watcher_timeline[0].event_type == "milestones.milestone.change" assert user_watcher_timeline[0].data["milestone"][ "name"] == "test milestone timeline updated" assert user_watcher_timeline[0].data["values_diff"]["name"][ 0] == "test milestone timeline" assert user_watcher_timeline[0].data["values_diff"]["name"][ 1] == "test milestone timeline updated"
def test_assigned_to_user_story_timeline(): membership = factories.MembershipFactory.create() user_story = factories.UserStoryFactory.create(subject="test us timeline", assigned_to=membership.user, project=membership.project) history_services.take_snapshot(user_story, user=user_story.owner) user_timeline = service.get_profile_timeline(user_story.assigned_to) assert user_timeline[0].event_type == "userstories.userstory.create" assert user_timeline[0].data["userstory"]["subject"] == "test us timeline"
def test_delete_project_timeline(): project = factories.ProjectFactory.create(name="test project timeline") user_watcher = factories.UserFactory() project.add_watcher(user_watcher) history_services.take_snapshot(project, user=project.owner, delete=True) user_timeline = service.get_project_timeline(project) assert user_timeline[0].event_type == "projects.project.delete" assert user_timeline[0].data["project"]["id"] == project.id user_watcher_timeline = service.get_profile_timeline(user_watcher) assert user_watcher_timeline[0].event_type == "projects.project.delete" assert user_watcher_timeline[0].data["project"]["id"] == project.id
def test_delete_task_timeline(): task = factories.TaskFactory.create(subject="test task timeline") user_watcher = factories.UserFactory() task.add_watcher(user_watcher) history_services.take_snapshot(task, user=task.owner, delete=True) project_timeline = service.get_project_timeline(task.project) assert project_timeline[0].event_type == "tasks.task.delete" assert project_timeline[0].data["task"]["subject"] == "test task timeline" user_watcher_timeline = service.get_profile_timeline(user_watcher) assert user_watcher_timeline[0].event_type == "tasks.task.delete" assert user_watcher_timeline[0].data["task"][ "subject"] == "test task timeline"
def test_assigned_users_user_story_timeline(): membership = factories.MembershipFactory.create() user_story = factories.UserStoryFactory.create(subject="test us timeline", project=membership.project) history_services.take_snapshot(user_story, user=user_story.owner) user_timeline = service.get_profile_timeline(user_story.owner) assert user_timeline[0].event_type == "userstories.userstory.create" assert user_timeline[0].data["userstory"]["subject"] == "test us timeline" user_story.assigned_to = membership.user user_story.assigned_users = (membership.user, ) user_story.save() history_services.take_snapshot(user_story, user=user_story.owner) user_timeline = service.get_profile_timeline(user_story.owner) assert user_timeline[0].event_type == "userstories.userstory.change" assert "assigned_to" not in user_timeline[0].data["values_diff"].keys() assert user_timeline[0].data["values_diff"]['assigned_users'] == \ [None, membership.user.username]
def test_delete_wiki_page_timeline(): page = factories.WikiPageFactory.create(slug="test wiki page timeline") user_watcher = factories.UserFactory() page.add_watcher(user_watcher) history_services.take_snapshot(page, user=page.owner, delete=True) project_timeline = service.get_project_timeline(page.project) assert project_timeline[0].event_type == "wiki.wikipage.delete" assert project_timeline[0].data["wikipage"][ "slug"] == "test wiki page timeline" user_watcher_timeline = service.get_profile_timeline(user_watcher) assert user_watcher_timeline[0].event_type == "wiki.wikipage.delete" assert user_watcher_timeline[0].data["wikipage"][ "slug"] == "test wiki page timeline"
def test_delete_issue_timeline(): issue = factories.IssueFactory.create(subject="test issue timeline") user_watcher = factories.UserFactory() issue.add_watcher(user_watcher) history_services.take_snapshot(issue, user=issue.owner, delete=True) project_timeline = service.get_project_timeline(issue.project) assert project_timeline[0].event_type == "issues.issue.delete" assert project_timeline[0].data["issue"][ "subject"] == "test issue timeline" user_watcher_timeline = service.get_profile_timeline(user_watcher) assert user_watcher_timeline[0].event_type == "issues.issue.delete" assert user_watcher_timeline[0].data["issue"][ "subject"] == "test issue timeline"
def test_timeline_error_use_member_ids_instead_of_memberships_ids(): user_story = factories.UserStoryFactory.create( subject="test error use member ids instead of " "memberships ids") member_user = user_story.owner external_user = factories.UserFactory.create() membership = factories.MembershipFactory.create(project=user_story.project, user=member_user, id=external_user.id) history_services.take_snapshot(user_story, user=member_user) user_timeline = service.get_profile_timeline(member_user) assert len(user_timeline) == 3 assert user_timeline[0].event_type == "userstories.userstory.create" assert user_timeline[1].event_type == "projects.membership.create" assert user_timeline[2].event_type == "users.user.create" external_user_timeline = service.get_profile_timeline(external_user) assert len(external_user_timeline) == 1 assert external_user_timeline[0].event_type == "users.user.create"
def test_delete_user_story_timeline(): user_story = factories.UserStoryFactory.create(subject="test us timeline") user_watcher = factories.UserFactory() user_story.add_watcher(user_watcher) history_services.take_snapshot(user_story, user=user_story.owner, delete=True) project_timeline = service.get_project_timeline(user_story.project) assert project_timeline[0].event_type == "userstories.userstory.delete" assert project_timeline[0].data["userstory"][ "subject"] == "test us timeline" user_watcher_timeline = service.get_profile_timeline(user_watcher) assert user_watcher_timeline[ 0].event_type == "userstories.userstory.delete" assert user_watcher_timeline[0].data["userstory"][ "subject"] == "test us timeline"
def test_delete_milestone_timeline(): milestone = factories.MilestoneFactory.create( name="test milestone timeline") user_watcher = factories.UserFactory() milestone.add_watcher(user_watcher) history_services.take_snapshot(milestone, user=milestone.owner, delete=True) project_timeline = service.get_project_timeline(milestone.project) assert project_timeline[0].event_type == "milestones.milestone.delete" assert project_timeline[0].data["milestone"][ "name"] == "test milestone timeline" user_watcher_timeline = service.get_profile_timeline(user_watcher) assert user_watcher_timeline[0].event_type == "milestones.milestone.delete" assert user_watcher_timeline[0].data["milestone"][ "name"] == "test milestone timeline"
def test_due_date_user_story_timeline(): initial_due_date = datetime.now(pytz.utc) + timedelta(days=1) membership = factories.MembershipFactory.create() user_story = factories.UserStoryFactory.create(subject="test us timeline", due_date=initial_due_date, project=membership.project) history_services.take_snapshot(user_story, user=user_story.owner) new_due_date = datetime.now(pytz.utc) + timedelta(days=3) user_story.due_date = new_due_date user_story.save() history_services.take_snapshot(user_story, user=user_story.owner) user_timeline = service.get_profile_timeline(user_story.owner) assert user_timeline[0].event_type == "userstories.userstory.change" assert user_timeline[0].data["values_diff"]['due_date'] == [ str(initial_due_date.date()), str(new_due_date.date()) ]
def test_update_wiki_page_timeline(): user_watcher = factories.UserFactory() page = factories.WikiPageFactory.create(slug="test wiki page timeline") history_services.take_snapshot(page, user=page.owner) page.add_watcher(user_watcher) page.slug = "test wiki page timeline updated" page.save() history_services.take_snapshot(page, user=page.owner) project_timeline = service.get_project_timeline(page.project) assert project_timeline[0].event_type == "wiki.wikipage.change" assert project_timeline[0].data["wikipage"][ "slug"] == "test wiki page timeline updated" assert project_timeline[0].data["values_diff"]["slug"][ 0] == "test wiki page timeline" assert project_timeline[0].data["values_diff"]["slug"][ 1] == "test wiki page timeline updated" user_watcher_timeline = service.get_profile_timeline(user_watcher) assert user_watcher_timeline[0].event_type == "wiki.wikipage.change" assert user_watcher_timeline[0].data["wikipage"][ "slug"] == "test wiki page timeline updated" assert user_watcher_timeline[0].data["values_diff"]["slug"][ 0] == "test wiki page timeline" assert user_watcher_timeline[0].data["values_diff"]["slug"][ 1] == "test wiki page timeline updated"
def test_update_task_timeline(): user_watcher = factories.UserFactory() task = factories.TaskFactory.create(subject="test task timeline") history_services.take_snapshot(task, user=task.owner) task.add_watcher(user_watcher) task.subject = "test task timeline updated" task.save() history_services.take_snapshot(task, user=task.owner) project_timeline = service.get_project_timeline(task.project) assert project_timeline[0].event_type == "tasks.task.change" assert project_timeline[0].data["task"][ "subject"] == "test task timeline updated" assert project_timeline[0].data["values_diff"]["subject"][ 0] == "test task timeline" assert project_timeline[0].data["values_diff"]["subject"][ 1] == "test task timeline updated" user_watcher_timeline = service.get_profile_timeline(user_watcher) assert user_watcher_timeline[0].event_type == "tasks.task.change" assert user_watcher_timeline[0].data["task"][ "subject"] == "test task timeline updated" assert user_watcher_timeline[0].data["values_diff"]["subject"][ 0] == "test task timeline" assert user_watcher_timeline[0].data["values_diff"]["subject"][ 1] == "test task timeline updated"
def test_update_issue_timeline(): user_watcher = factories.UserFactory() issue = factories.IssueFactory.create(subject="test issue timeline") history_services.take_snapshot(issue, user=issue.owner) issue.add_watcher(user_watcher) issue.subject = "test issue timeline updated" issue.save() history_services.take_snapshot(issue, user=issue.owner) project_timeline = service.get_project_timeline(issue.project) assert project_timeline[0].event_type == "issues.issue.change" assert project_timeline[0].data["issue"][ "subject"] == "test issue timeline updated" assert project_timeline[0].data["values_diff"]["subject"][ 0] == "test issue timeline" assert project_timeline[0].data["values_diff"]["subject"][ 1] == "test issue timeline updated" user_watcher_timeline = service.get_profile_timeline(user_watcher) assert user_watcher_timeline[0].event_type == "issues.issue.change" assert user_watcher_timeline[0].data["issue"][ "subject"] == "test issue timeline updated" assert user_watcher_timeline[0].data["values_diff"]["subject"][ 0] == "test issue timeline" assert user_watcher_timeline[0].data["values_diff"]["subject"][ 1] == "test issue timeline updated"
def test_update_project_timeline(): user_watcher = factories.UserFactory() project = factories.ProjectFactory.create(name="test project timeline") history_services.take_snapshot(project, user=project.owner) project.add_watcher(user_watcher) project.name = "test project timeline updated" project.save() history_services.take_snapshot(project, user=project.owner) project_timeline = service.get_project_timeline(project) assert project_timeline[0].event_type == "projects.project.change" assert project_timeline[0].data["project"][ "name"] == "test project timeline updated" assert project_timeline[0].data["values_diff"]["name"][ 0] == "test project timeline" assert project_timeline[0].data["values_diff"]["name"][ 1] == "test project timeline updated" user_watcher_timeline = service.get_profile_timeline(user_watcher) assert user_watcher_timeline[0].event_type == "projects.project.change" assert user_watcher_timeline[0].data["project"][ "name"] == "test project timeline updated" assert user_watcher_timeline[0].data["values_diff"]["name"][ 0] == "test project timeline" assert user_watcher_timeline[0].data["values_diff"]["name"][ 1] == "test project timeline updated"