def test_project_is_initialized_correctly_with_template(self): template = template_controller.create_template( 'test template', 'test_template.tex', '~/.texviper/templates', 'test') project_controller.create_project( 'test_project', '~/.texviper/projects', template.name) self.assertEqual( Path('~/.texviper/projects/test_project/main.tex').expanduser().read_text(), 'test' )
def test_read_resource_works(self): template = template_controller.create_template('test template', 'test_template.tex', '~/.texviper/templates', 'test') project = project_controller.create_project('test_project', '~/.texviper/projects', template.name) resource = project_controller.get_resources(project.project_id)[0] self.assertEqual(project_controller.read_resource( resource.resource_id, project.project_id), 'test' )
def test_get_project_by_id_returns_correct_project(self): project_controller.create_project('test_project_1', '.') project_controller.create_project('test_project_2', '.') project_controller.create_project('test_project_3', '.') database.execute("""select project_id from Projects where name = 'test_project_1'""") project_id = database.fetch_one()[0] self.assertEqual(project_id, project_controller.get_project_by_id(project_id).project_id)
def create_project_clicked(self, name, path, template_name): """ Callback to create project Args: name (string): Name that user entered path (string): Path that user entered template_name (string): Template name """ try: project = project_controller.create_project( name, path, template_name) self.add_project(project) except InvalidValueError as err: self.show_error(get_literal('project_creation_failed'), str(err)) except DirectoryNotEmptyError: self.show_error(get_literal('project_creation_failed'), get_literal('dir_not_empty')) except ProjectExistsError: self.show_error(get_literal('project_creation_failed'), get_literal('projects_already_exists')) except PermissionError: self.show_error(get_literal('project_creation_failed'), get_literal('permission_denied'))
def test_get_projects_returns_all_names(self): project_controller.create_project('test_project_1', '.') project_controller.create_project('test_project_2', '.') project_controller.create_project('test_project_3', '.') self.assertEqual(len(project_controller.get_projects()), 3)
def test_create_fails_with_existing_project(self): project_controller.create_project('test_project', '.') self.assertRaises(ProjectExistsError, project_controller.create_project, 'test_project', '.')
def test_create_succeeds(self): project_controller.create_project('test_project', '.')