def testSetNotMandatory(self): store = self.store store2 = new_store() store3 = new_store() client_form = store.find(UIForm, form_name=u'client').one() field = store.find(UIField, ui_form=client_form, field_name=u'name').one() self.assertEquals(field.mandatory, True) field2 = store2.find(UIField, ui_form=client_form, field_name=u'name').one() dialog = FormFieldEditor(self.store) dialog.forms.select(client_form) self.assertEquals(dialog.fields.get_cell_contents()[7][2], True) setattr(field, 'mandatory', False) dialog.fields.refresh() self.assertEquals(dialog.fields.get_cell_contents()[7][2], False) self.assertEquals(field2.mandatory, True) dialog.confirm() field3 = store3.find(UIField, ui_form=client_form, field_name=u'name').one() self.assertEquals(field3.mandatory, False) store2.close() store3.close() # Restore initial state of the test database. setattr(field, 'mandatory', True) store.commit()
def test_uiform_editor(self): editor = FormFieldEditor(self.store) form = self.store.find(UIForm, form_name=u'employee').one() editor.forms.select(form) renderer_text = Gtk.CellRendererText() renderer_toggle = Gtk.CellRendererToggle() obj = self.store.find(UIField, field_name=u'street').any() # In order to test the following method, we must call it mannually, # otherwise the test wont call renderer = editor._uifield__cell_data_func(editor.forms, renderer_text, obj, obj.description) self.assertEquals(renderer, obj.description) self.assertTrue(renderer_text.get_property('sensitive')) # Testing with NFe plugin inactive editor._uifield__cell_data_func(editor.forms, renderer_toggle, obj, obj.description) self.assertTrue(renderer_toggle.get_property('sensitive')) self.assertTrue(renderer_toggle.get_property('activatable')) # Testing with NFe plugin active path = 'stoqlib.gui.editors.formfieldeditor.get_plugin_manager' with mock.patch(path) as get_plugin_manager: get_plugin_manager.is_active.return_value = True editor._uifield__cell_data_func(editor.forms, renderer_toggle, obj, obj.description) self.assertFalse(renderer_toggle.get_property('sensitive')) self.assertFalse(renderer_toggle.get_property('activatable'))
def test_uiform_editor(self): editor = FormFieldEditor(self.store) form = self.store.find(UIForm, form_name=u'employee').one() editor.forms.select(form) renderer_text = Gtk.CellRendererText() renderer_toggle = Gtk.CellRendererToggle() obj = self.store.find(UIField, field_name=u'street').any() # In order to test the following method, we must call it mannually, # otherwise the test wont call renderer = editor._uifield__cell_data_func(editor.forms, renderer_text, obj, obj.description) self.assertEqual(renderer, obj.description) self.assertTrue(renderer_text.get_property('sensitive')) # Testing with NFe plugin inactive editor._uifield__cell_data_func(editor.forms, renderer_toggle, obj, obj.description) self.assertTrue(renderer_toggle.get_property('sensitive')) self.assertTrue(renderer_toggle.get_property('activatable')) # Testing with NFe plugin active path = 'stoqlib.gui.editors.formfieldeditor.get_plugin_manager' with mock.patch(path) as get_plugin_manager: get_plugin_manager.is_active.return_value = True editor._uifield__cell_data_func(editor.forms, renderer_toggle, obj, obj.description) self.assertFalse(renderer_toggle.get_property('sensitive')) self.assertFalse(renderer_toggle.get_property('activatable'))
def testShow(self): dialog = FormFieldEditor(self.store) self.check_dialog(dialog, 'dialog-formfield-show')