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)
Exemplo n.º 2
0
 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'
Exemplo n.º 3
0
    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))