def test_generate_file_structure_dict(self, project_function): _, project = project_function.activate() page.create_page(project, 'page_one') page.create_page(project, 'module.page_two') path = Project(project).page_directory_path file_structure = file_manager.generate_file_structure_dict(path) expected_result = { 'type': 'directory', 'name': 'pages', 'dot_path': '', 'sub_elements': [ { 'type': 'directory', 'name': 'module', 'dot_path': 'module', 'sub_elements': [ { 'type': 'file', 'name': 'page_two', 'dot_path': 'module.page_two', 'sub_elements': [] } ] }, { 'type': 'file', 'name': 'page_one', 'dot_path': 'page_one', 'sub_elements': [] } ] } assert file_structure == expected_result
def test_create_page_invalid_name(self, project_session): _, project = project_session.activate() errors = page.create_page(project, 'invalid-name') assert errors == ['Only letters, numbers and underscores are allowed'] errors = page.create_page(project, 'test.') assert errors == ['File name cannot be empty'] errors = page.create_page(project, '.test') assert errors == ['Directory name cannot be empty']
def test_create_page_into_subdirectory(self, project_session, test_utils): _, project = project_session.activate() random_dir = test_utils.random_string() page_name = '{}.page_name'.format(random_dir) page.create_page(project, page_name) init_path = os.path.join(Project(project).page_directory_path, random_dir, '__init__.py') assert os.path.isfile(init_path)
def test_get_files_dot_path(self, project_function): _, project = project_function.activate() page.create_page(project, 'page1') page.create_page(project, 'dir.subdir.page2') base_path = os.path.join(project_function.path, 'pages') dot_files = file_manager.get_files_dot_path(base_path) expected_result = ['page1', 'dir.subdir.page2'] assert dot_files == expected_result
def test_get_files_dot_path_with_extension(self, project_function): _, project = project_function.activate() page.create_page(project, 'page2') base_path = os.path.join(project_function.path, 'pages') another_extension = os.path.join(base_path, 'another.json') open(another_extension, 'w+').close() dot_files = file_manager.get_files_dot_path(base_path, extension='.py') expected_result = ['page2'] assert dot_files == expected_result
def _create_project_element(project_name, element_name, element_type): errors = [] _verify_permissions(Permissions.STANDARD, project_name) if element_type == Project.file_types.TEST: errors = test_module.create_test(project_name, element_name) elif element_type == Project.file_types.PAGE: errors = page_module.create_page(project_name, element_name) elif element_type == Project.file_types.SUITE: errors = suite_module.create_suite(project_name, element_name) else: errors.append('Invalid element type {}'.format(element_type)) return jsonify({'errors': errors})
def _create_project_element(project, element_name, element_type): errors = [] if element_type == 'test': errors = test_module.create_test(project, element_name) elif element_type == 'page': errors = page_module.create_page(project, element_name) elif element_type == 'suite': errors = suite_module.create_suite(project, element_name) else: errors.append('Invalid element type {}'.format(element_type)) element = { 'name': element_name.split('.')[-1], 'full_name': element_name } return element, errors
def test_page_tree(self, project_function): _, project = project_function.activate() page.create_page(project, 'subdir1.subdir2.test3') page.create_page(project, 'subdir1.test2') page.create_page(project, 'test1') pages = Project(project).page_tree expected = { 'type': 'directory', 'name': 'pages', 'dot_path': '', 'sub_elements': [{ 'type': 'directory', 'name': 'subdir1', 'dot_path': 'subdir1', 'sub_elements': [{ 'type': 'directory', 'name': 'subdir2', 'dot_path': 'subdir1.subdir2', 'sub_elements': [{ 'type': 'file', 'name': 'test3', 'dot_path': 'subdir1.subdir2.test3', 'sub_elements': [] }] }, { 'type': 'file', 'name': 'test2', 'dot_path': 'subdir1.test2', 'sub_elements': [] }] }, { 'type': 'file', 'name': 'test1', 'dot_path': 'test1', 'sub_elements': [] }] } assert pages == expected
def create_random_page(project, code=None): page_name = TestUtils.random_string(10) page.create_page(project, page_name) if code is not None: page.edit_page_code(project, page_name, code) return page_name
def create_page(project, page_name): page.create_page(project, page_name)
def test_create_page_page_exists(self, project_session, test_utils): _, project = project_session.activate() page_name = test_utils.random_string() page.create_page(project, page_name) errors = page.create_page(project, page_name) assert errors == ['A page with that name already exists']
def test_create_page(self, project_session, test_utils): _, project = project_session.activate() page_name = test_utils.random_string() page.create_page(project, page_name) assert page_name in Project(project).pages()
def test_create_page_invalid_name(self, project_session): _, project = project_session.activate() errors = page.create_page(project, 'invalid-name') assert errors == ['Only letters, numbers and underscores are allowed']