def test_writes_data_to_sheet(self): the_cells = (eie.Cell(value='2', pattern=''), eie.Cell(value='3', pattern='')) class Row(object): def columns(self): return the_cells with mock.patch('flooding_lib.excel_import_export.FieldInfo.headers', return_value=()): with mock.patch('flooding_lib.excel_import_export.FieldInfo.rows', return_value=[Row()]): project = ProjectF.create() scenario = ScenarioF.create() scenario.set_project(project) filename = '/tmp/testfile.xls' eie.create_excel_file(project, [scenario], filename) workbook = xlrd.open_workbook(filename) self.assertEquals(workbook.nsheets, 2) sheet = workbook.sheet_by_index(0) self.assertEquals(sheet.cell_value(4, 0), '2') self.assertEquals(sheet.cell_value(4, 1), '3') os.remove(filename)
def test_calls_approval_worksheet(self, mocked_create): project = ProjectF.create() scenario = ScenarioF.create() scenario.set_project(project) eie.create_excel_file(project, [scenario], include_approval=True) self.assertTrue(mocked_create.called)
def test_calls_approval_worksheet(self, mocked_create): project = ProjectF.create() scenario = ScenarioF.create() scenario.set_project(project) eie.create_excel_file(project, [scenario], include_approval=True) self.assertTrue(mocked_create.called)
def test_writes_data_to_sheet(self): the_cells = (eie.Cell(value='2', pattern=''), eie.Cell(value='3', pattern='')) class Row(object): def columns(self): return the_cells with mock.patch('flooding_lib.excel_import_export.FieldInfo.headers', return_value=()): with mock.patch('flooding_lib.excel_import_export.FieldInfo.rows', return_value=[Row()]): project = ProjectF.create() scenario = ScenarioF.create() scenario.set_project(project) filename = '/tmp/testfile.xls' eie.create_excel_file(project, [scenario], filename) workbook = xlrd.open_workbook(filename) self.assertEquals(workbook.nsheets, 2) sheet = workbook.sheet_by_index(0) self.assertEquals(sheet.cell_value(4, 0), '2') self.assertEquals(sheet.cell_value(4, 1), '3') os.remove(filename)
def test_writes_headers_to_sheet(self, rowmock): """Function should use the result of fieldinfo.headers() to write the header.""" headers = [ {"headername": "test1", "fieldname": "testfield1", "fieldtype": "int", "fieldhint": "het is groen"}, {"headername": "test1", "fieldname": "testfield2", "fieldtype": "string", "fieldhint": "het is groen"}, ] with mock.patch("flooding_lib.excel_import_export.FieldInfo.headers", return_value=headers): with mock.patch("flooding_lib.excel_import_export.write_domeinlijst", return_value=True): project = ProjectF.create() scenario = ScenarioF.create() scenario.set_project(project) filename = "/tmp/testfile.xls" eie.create_excel_file(project, [scenario], filename) workbook = xlrd.open_workbook(filename) self.assertEquals(workbook.nsheets, 2) sheet = workbook.sheet_by_index(0) self.assertEquals(sheet.cell_value(0, 0), "test1") self.assertEquals(sheet.cell_value(1, 0), "testfield1") self.assertEquals(sheet.cell_value(2, 0), "int") self.assertEquals(sheet.cell_value(3, 0), "het is groen") self.assertEquals(sheet.cell_value(0, 1), "test1") self.assertEquals(sheet.cell_value(1, 1), "testfield2") self.assertEquals(sheet.cell_value(2, 1), "string") self.assertEquals(sheet.cell_value(3, 1), "het is groen") os.remove(filename)
def test_creates_field_info_object(self): """Check that it calls project.original_scenarios and passes the result to FieldInfo.""" scenariolistmock = mock.MagicMock() project = ProjectF() with mock.patch('flooding_lib.excel_import_export.FieldInfo'): eie.create_excel_file(project, scenariolistmock) self.assertTrue(eie.FieldInfo.called)
def test_creates_field_info_object(self): """Check that it calls project.original_scenarios and passes the result to FieldInfo.""" scenariolistmock = mock.MagicMock() project = ProjectF() with mock.patch("flooding_lib.excel_import_export.FieldInfo"): eie.create_excel_file(project, scenariolistmock) self.assertTrue(eie.FieldInfo.called)
def handle(self, *args, **kwargs): activate("nl") # Nederlands for project in models.Project.objects.all(): filename = os.path.join(settings.EXCEL_DIRECTORY, project.excel_filename()) # print("Creating Excel for project {0}.".format(project.id)) excel_import_export.create_excel_file( project, project.original_scenarios(), filename, include_approval=True )
def handle(self, *args, **kwargs): activate("nl") # Nederlands for project in models.Project.objects.all(): filename = os.path.join(settings.EXCEL_DIRECTORY, project.excel_filename()) #print("Creating Excel for project {0}.".format(project.id)) excel_import_export.create_excel_file(project, project.original_scenarios(), filename, include_approval=True)
def test_creates_file(self): """If called with a project, TestCreateExcelFile creates an Excel file and returns the path of that file.""" project = ProjectF.create() # Add a scenario scenario = ScenarioF.create() scenario.set_project(project) filename = "/tmp/create_excel_file.xls" eie.create_excel_file(project, [scenario], filename) self.assertTrue(os.path.exists(filename)) os.remove(filename)
def test_creates_file(self): """If called with a project, TestCreateExcelFile creates an Excel file and returns the path of that file.""" project = ProjectF.create() # Add a scenario scenario = ScenarioF.create() scenario.set_project(project) filename = "/tmp/create_excel_file.xls" eie.create_excel_file(project, [scenario], filename) self.assertTrue(os.path.exists(filename)) os.remove(filename)
def handle(self, *args, **kwargs): activate("nl") # Nederlands ror = models.Project.objects.get(pk=PROJECT_ROR) for province in sharedmodels.Province.objects.all(): filename = os.path.join(settings.EXCEL_DIRECTORY, 'shared', 'ror', "{0}.xls".format(province.name)) scenarios = views.scenario_list(ror, province) print("Creating Excel for project {0}.".format(ror.id)) excel_import_export.create_excel_file(ror, scenarios, filename, include_approval=True)
def handle(self, *args, **kwargs): activate("nl") # Nederlands ror = models.Project.objects.get(pk=PROJECT_ROR) for province in sharedmodels.Province.objects.all(): filename = os.path.join( settings.EXCEL_DIRECTORY, 'shared', 'ror', "{0}.xls".format(province.name)) scenarios = views.scenario_list(ror, province) print("Creating Excel for project {0}.".format(ror.id)) excel_import_export.create_excel_file( ror, scenarios, filename, include_approval=True)
def test_no_scenarios(self): """If there are no scenarios, function should return None and there should be no file.""" project = ProjectF.create() filename = "/tmp/create_excel_file.xls" workbook = eie.create_excel_file(project, (), filename) self.assertEquals(workbook, None) self.assertFalse(os.path.exists(filename))
def test_no_scenarios(self): """If there are no scenarios, function should return None and there should be no file.""" project = ProjectF.create() filename = "/tmp/create_excel_file.xls" workbook = eie.create_excel_file(project, (), filename) self.assertEquals(workbook, None) self.assertFalse(os.path.exists(filename))
def handle(self, *args, **kwargs): activate("nl") # Nederlands ror = models.Project.objects.get(pk=PROJECT_ROR) for province in sharedmodels.Province.objects.all(): filename = os.path.join( settings.EXCEL_DIRECTORY, "{0}.xls".format(province.name)) scenarios = (scenario for scenario in models.Scenario.objects.filter( scenarioproject__project=ror) if province.in_province(scenario)) #print("Creating Excel for project {0}.".format(project.id)) excel_import_export.create_excel_file( ror, scenarios, filename, include_approval=True)
def test_writes_headers_to_sheet(self, rowmock): """Function should use the result of fieldinfo.headers() to write the header.""" headers = [ { 'headername': 'test1', 'fieldname': 'testfield1', 'fieldtype': 'int', 'fieldhint': 'het is groen' }, { 'headername': 'test1', 'fieldname': 'testfield2', 'fieldtype': 'string', 'fieldhint': 'het is groen' }, ] with mock.patch('flooding_lib.excel_import_export.FieldInfo.headers', return_value=headers): with mock.patch( 'flooding_lib.excel_import_export.write_domeinlijst', return_value=True): project = ProjectF.create() scenario = ScenarioF.create() scenario.set_project(project) filename = '/tmp/testfile.xls' eie.create_excel_file(project, [scenario], filename) workbook = xlrd.open_workbook(filename) self.assertEquals(workbook.nsheets, 2) sheet = workbook.sheet_by_index(0) self.assertEquals(sheet.cell_value(0, 0), 'test1') self.assertEquals(sheet.cell_value(1, 0), 'testfield1') self.assertEquals(sheet.cell_value(2, 0), 'int') self.assertEquals(sheet.cell_value(3, 0), 'het is groen') self.assertEquals(sheet.cell_value(0, 1), 'test1') self.assertEquals(sheet.cell_value(1, 1), 'testfield2') self.assertEquals(sheet.cell_value(2, 1), 'string') self.assertEquals(sheet.cell_value(3, 1), 'het is groen') os.remove(filename)
def get_excel(request, project, province): directory = excel_dir(project) if not os.path.exists(directory): os.makedirs(directory) filename = "{0}.xls".format(province.name) scenarios = scenario_list(project, province) excel_import_export.create_excel_file( project, scenarios, os.path.join(directory, filename), include_approval=True) return viewutil.serve_file( request=request, dirname=directory, filename=filename, nginx_dirname='/download_excel_shared')
def get_excel(request, project, province): directory = excel_dir(project) if not os.path.exists(directory): os.makedirs(directory) filename = "{0}.xls".format(province.name) fullpath = os.path.join(directory, filename) # Excel files are created every hour by a cronjob calling the # 'create_province_excel' management command if not os.path.exists(fullpath): scenarios = scenario_list(project, province) excel_import_export.create_excel_file( project, scenarios, fullpath, include_approval=True) return viewutil.serve_file( request=request, dirname=directory, filename=filename, nginx_dirname='/download_excel_shared')
def get_excel(request, project, province): directory = excel_dir(project) if not os.path.exists(directory): os.makedirs(directory) filename = "{0}.xls".format(province.name) fullpath = os.path.join(directory, filename) # Excel files are created every hour by a cronjob calling the # 'create_province_excel' management command if not os.path.exists(fullpath): scenarios = scenario_list(project, province) excel_import_export.create_excel_file(project, scenarios, fullpath, include_approval=True) return viewutil.serve_file(request=request, dirname=directory, filename=filename, nginx_dirname='/download_excel_shared')
def test_writes_headers_to_sheet(self, rowmock): """Function should use the result of fieldinfo.headers() to write the header.""" headers = [ {'headername': 'test1', 'fieldname': 'testfield1', 'fieldtype': 'int', 'fieldhint': 'het is groen'}, {'headername': 'test1', 'fieldname': 'testfield2', 'fieldtype': 'string', 'fieldhint': 'het is groen'}, ] with mock.patch( 'flooding_lib.excel_import_export.FieldInfo.headers', return_value=headers): with mock.patch( 'flooding_lib.excel_import_export.write_domeinlijst', return_value=True): project = ProjectF.create() scenario = ScenarioF.create() scenario.set_project(project) filename = '/tmp/testfile.xls' eie.create_excel_file(project, [scenario], filename) workbook = xlrd.open_workbook(filename) self.assertEquals(workbook.nsheets, 2) sheet = workbook.sheet_by_index(0) self.assertEquals(sheet.cell_value(0, 0), 'test1') self.assertEquals(sheet.cell_value(1, 0), 'testfield1') self.assertEquals(sheet.cell_value(2, 0), 'int') self.assertEquals(sheet.cell_value(3, 0), 'het is groen') self.assertEquals(sheet.cell_value(0, 1), 'test1') self.assertEquals(sheet.cell_value(1, 1), 'testfield2') self.assertEquals(sheet.cell_value(2, 1), 'string') self.assertEquals(sheet.cell_value(3, 1), 'het is groen') os.remove(filename)