def test_template(schema_path, xlsx_path, tmpdir): """ Ensure the template schema generates a spreadsheet that looks like the given example, and check that the template example is valid. """ # Load the template and write it to a temporary file template = Template.from_json(schema_path, SCHEMA_DIR) p = tmpdir.join('test_output.xlsx') template.to_excel(p) generated_template = XlTemplateReader.from_excel(p) # Ensure the xlsx file actually exists assert os.path.exists( xlsx_path), f'No example Excel template provided for {schema_path}' reference_template = XlTemplateReader.from_excel(xlsx_path) # Check that both templates have the same fields compare_templates(schema_path, generated_template, reference_template) # Validate the Excel template assert reference_template.validate(template)
def pbmc_template(pbmc_schema_path): return Template.from_json(pbmc_schema_path, SCHEMA_DIR)
def pbmc_template(): pbmc_template_path = os.path.join(SCHEMA_DIR, 'templates', 'pbmc_template.json') return Template.from_json(pbmc_template_path, SCHEMA_DIR)