def test_export_user_story_finish_date(client): user_story = f.UserStoryFactory.create(finish_date="2014-10-22") output = io.StringIO() render_project(user_story.project, output) project_data = json.loads(output.getvalue()) finish_date = project_data["user_stories"][0]["finish_date"] assert finish_date == "2014-10-22T00:00:00+0000"
def test_import_epic_with_user_stories(client): project = f.ProjectFactory() project.default_points = f.PointsFactory.create(project=project) project.default_issue_type = f.IssueTypeFactory.create(project=project) project.default_issue_status = f.IssueStatusFactory.create(project=project) project.default_epic_status = f.EpicStatusFactory.create(project=project) project.default_us_status = f.UserStoryStatusFactory.create( project=project) project.default_task_status = f.TaskStatusFactory.create(project=project) project.default_priority = f.PriorityFactory.create(project=project) project.default_severity = f.SeverityFactory.create(project=project) epic = f.EpicFactory.create(subject="test epic export", project=project, status=project.default_epic_status) user_story = f.UserStoryFactory.create(project=project, status=project.default_us_status, milestone=None) f.RelatedUserStory.create(epic=epic, user_story=user_story, order=55) output = io.BytesIO() render_project(user_story.project, output) project_data = json.loads(output.getvalue()) epic.project.delete() project = store_project_from_dict(project_data) assert project.epics.count() == 1 assert project.epics.first().ref == epic.ref assert project.epics.first().user_stories.count() == 1 related_userstory = project.epics.first().relateduserstory_set.first() assert related_userstory.user_story.ref == user_story.ref assert related_userstory.order == 55 assert related_userstory.epic.ref == epic.ref
def test_export_issue_finish_date(client): issue = f.IssueFactory.create(finished_date="2014-10-22") output = io.StringIO() render_project(issue.project, output) project_data = json.loads(output.getvalue()) finish_date = project_data["issues"][0]["finished_date"] assert finish_date == "2014-10-22T00:00:00+0000"
def handle(self, *args, **options): dst_dir = options["dst_dir"] if not os.path.exists(dst_dir): raise CommandError("Directory {} does not exist.".format(dst_dir)) if not os.path.isdir(dst_dir): raise CommandError( "'{}' must be a directory, not a file.".format(dst_dir)) project_slugs = options["project_slugs"] for project_slug in project_slugs: try: project = Project.objects.get(slug=project_slug) except Project.DoesNotExist: raise CommandError( "Project '{}' does not exist".format(project_slug)) if options["format"] == "gzip": dst_file = os.path.join(dst_dir, "{}.json.gz".format(project_slug)) with gzip.GzipFile(dst_file, "wb") as f: render_project(project, f) else: dst_file = os.path.join(dst_dir, "{}.json".format(project_slug)) with open(dst_file, "wb") as f: render_project(project, f) print("-> Generate dump of project '{}' in '{}'".format( project.name, dst_file))
def test_import_epic_with_user_stories(client): project = f.ProjectFactory() project.default_points = f.PointsFactory.create(project=project) project.default_issue_type = f.IssueTypeFactory.create(project=project) project.default_issue_status = f.IssueStatusFactory.create(project=project) project.default_epic_status = f.EpicStatusFactory.create(project=project) project.default_us_status = f.UserStoryStatusFactory.create(project=project) project.default_task_status = f.TaskStatusFactory.create(project=project) project.default_priority = f.PriorityFactory.create(project=project) project.default_severity = f.SeverityFactory.create(project=project) epic = f.EpicFactory.create(subject="test epic export", project=project, status=project.default_epic_status) user_story = f.UserStoryFactory.create(project=project, status=project.default_us_status, milestone=None) f.RelatedUserStory.create(epic=epic, user_story=user_story, order=55) output = io.BytesIO() render_project(user_story.project, output) project_data = json.loads(output.getvalue()) epic.project.delete() project = store_project_from_dict(project_data) assert project.epics.count() == 1 assert project.epics.first().ref == epic.ref assert project.epics.first().user_stories.count() == 1 related_userstory = project.epics.first().relateduserstory_set.first() assert related_userstory.user_story.ref == user_story.ref assert related_userstory.order == 55 assert related_userstory.epic.ref == epic.ref
def handle(self, *args, **options): dst_dir = options["dst_dir"] if not os.path.exists(dst_dir): raise CommandError("Directory {} does not exist.".format(dst_dir)) if not os.path.isdir(dst_dir): raise CommandError("'{}' must be a directory, not a file.".format(dst_dir)) project_slugs = options["project_slugs"] for project_slug in project_slugs: try: project = Project.objects.get(slug=project_slug) except Project.DoesNotExist: raise CommandError("Project '{}' does not exist".format(project_slug)) if options["format"] == "gzip": dst_file = os.path.join(dst_dir, "{}.json.gz".format(project_slug)) with gzip.GzipFile(dst_file, "wb") as f: render_project(project, f) else: dst_file = os.path.join(dst_dir, "{}.json".format(project_slug)) with open(dst_file, "wb") as f: render_project(project, f) print("-> Generate dump of project '{}' in '{}'".format(project.name, dst_file))
def test_export_epic_with_user_stories(client): epic = f.EpicFactory.create(subject="test epic export") user_story = f.UserStoryFactory.create(project=epic.project) f.RelatedUserStory.create(epic=epic, user_story=user_story) output = io.BytesIO() render_project(user_story.project, output) project_data = json.loads(output.getvalue()) assert project_data["epics"][0]["subject"] == "test epic export" assert len(project_data["epics"]) == 1 assert project_data["epics"][0]["related_user_stories"][0]["user_story"] == user_story.ref assert len(project_data["epics"][0]["related_user_stories"]) == 1