def test_validate_name(self, db): """Raise error if cultivar already exists. Cultivars are constrained to have a unique combination of name, common name, and section. """ cv1 = Cultivar(name='Polkadot Petra') cv1.common_name = CommonName(name='Foxglove') cv1.common_name.index = Index(name='Perennial') cv1.section = Section(name='Polkadot') cv2 = Cultivar(name='Silky Gold') cv2.common_name = CommonName(name='Butterfly Weed') cv2.common_name.index = Index(name='Annual') cv3 = Cultivar(name='Tumbling Tom', common_name=CommonName(name='Tomato')) db.session.add_all([cv1, cv2, cv3]) db.session.commit() form1 = AddCultivarForm(cn=cv1.common_name) form1.name.data = 'Petra' form1.validate_name(form1.name) form2 = AddCultivarForm(cn=cv2.common_name) form2.name.data = 'Silky Gold' with pytest.raises(ValidationError): form2.validate_name(form2.name) form3 = AddCultivarForm(cn=cv3.common_name) form3.name.data = 'Tumbling Tom' with pytest.raises(ValidationError): form3.validate_name(form3.name)
def test_add_one_with_section(self): """Add a Cultivar with Section to worksheet.""" wb = Workbook() ws = wb.active cvws = CultivarsWorksheet(ws) cvws.setup() cv = Cultivar(name='Petra') cv.common_name = CommonName(name='Foxglove') cv.common_name.index = Index(name='Perennial') cv.section = Section(name='Polkadot') cvws.add_one(cv) assert cvws.cell(2, cvws.cols['Section']).value == 'Polkadot'
def test_queryable_dicts_to_json(self): """Generate a JSON string for looking up Grows With cns/cvs. It can take either, as both have the queryable_dict method. """ gwcn1 = CommonName(name='Foxglove') gwcn1.index = Index(name='Perennial') assert queryable_dicts_to_json([gwcn1]) == \ json.dumps((gwcn1.queryable_dict,)) gwcn2 = CommonName(name='Butterfly Weed') gwcn2.index = Index(name='Perennial') assert queryable_dicts_to_json([gwcn1, gwcn2]) == \ json.dumps((gwcn1.queryable_dict, gwcn2.queryable_dict)) gwcv1 = Cultivar(name='Soulmate') gwcv1.common_name = CommonName(name='Butterfly Weed') gwcv1.common_name.index = Index(name='Perennial') assert queryable_dicts_to_json([gwcv1]) == \ json.dumps((gwcv1.queryable_dict,)) gwcv2 = Cultivar(name='Petra') gwcv2.common_name = CommonName(name='Foxglove') gwcv2.common_name.index = Index(name='Perennial') gwcv2.section = Section(name='Polkadot') assert queryable_dicts_to_json([gwcv1, gwcv2]) == \ json.dumps((gwcv1.queryable_dict, gwcv2.queryable_dict))