Exemplo n.º 1
0
 def test_init(self, m_sfc):
     m_sfc.return_value = [(1, "One"), (2, "Two"), (3, "Three")]
     cn1 = CommonName(name="One")
     cn1.id = 1
     cn2 = CommonName(name="Two")
     cn2.id = 2
     obj = BotanicalName(name="Bot nam")
     obj.common_names = [cn1, cn2]
     ebnf = EditBotanicalNameForm(obj=obj)
     assert ebnf.common_names.data == [1, 2]
Exemplo n.º 2
0
 def test_add_one_with_synonyms(self):
     """Add a BotanicalName with synonyms to Botanical Names sheet."""
     wb = Workbook()
     ws = wb.active
     bnws = BotanicalNamesWorksheet(ws)
     bnws.setup()
     bn = BotanicalName(name='Innagada davida')
     cn = CommonName(name='Rock')
     cn.index = Index(name='Music')
     bn.common_names = [cn]
     bn.synonyms_string = 'Iron butterfly'
     bnws.add_one(bn)
     assert bnws.cell(2, bnws.cols['Synonyms']).value == 'Iron butterfly'
Exemplo n.º 3
0
 def test_validate_botanical_name_id(self, m_bnq):
     """Raise error if selected BN is not in selected CN."""
     bn = BotanicalName("Digitalis über alles")
     cn1 = CommonName(name="Fauxglove")
     cn1.id = 1
     cn2 = CommonName(name="Spuriousglove")
     cn2.id = 2
     bn.common_names = [cn1, cn2]
     m_bnq.return_value = bn
     self = mock.MagicMock()
     self.common_name_id.data = 3
     field = mock.MagicMock()
     with pytest.raises(ValidationError):
         EditCultivarForm.validate_botanical_name_id(self=self, field=field)
Exemplo n.º 4
0
 def test_add_one_no_optionals(self):
     """Add a BotanicalName object to Botanical Names sheet."""
     messages = StringIO()
     wb = Workbook()
     ws = wb.active
     bnws = BotanicalNamesWorksheet(ws)
     bnws.setup()
     bn = BotanicalName(name='Innagada davida')
     cn = CommonName(name='Rock')
     cn.index = Index(name='Music')
     bn.common_names = [cn]
     bnws.add_one(bn, stream=messages)
     assert bnws.cell(
         2, bnws.cols['Common Names (JSON)']
     ).value == queryable_dicts_to_json([cn])
     assert bnws.cell(
         2, bnws.cols['Botanical Name']
     ).value == 'Innagada davida'
     assert bnws.cell(2, bnws.cols['Synonyms']).value is None
     messages.seek(0)
     msgs = messages.read()
     assert ('Adding data from <BotanicalName "Innagada davida"> to row '
             '#2 of botanical names worksheet.') in msgs