4878 |
4878 |
assert external_formdef.data_class().count() == 1
|
4879 |
4879 |
assert external_carddef.data_class().count() == 1
|
4880 |
4880 |
external_formdata = external_formdef.data_class().select()[0]
|
|
4881 |
|
|
4882 |
# remove external formdata
|
4881 |
4883 |
perform_items([action], formdata)
|
4882 |
4884 |
assert LoggedError.count() == 0
|
4883 |
4885 |
assert external_formdef.data_class().count() == 0
|
4884 |
4886 |
assert external_carddef.data_class().count() == 1
|
4885 |
4887 |
|
|
4888 |
# formdata is already deleted: cannot find it again
|
4886 |
4889 |
perform_items([action], formdata)
|
4887 |
4890 |
assert LoggedError.count() == 1
|
4888 |
4891 |
logged_error = LoggedError.select()[0]
|
4889 |
4892 |
assert logged_error.summary == 'Could not find linked "External Form" object by id %s' % external_formdata.id
|
4890 |
4893 |
assert logged_error.exception_class == 'KeyError'
|
4891 |
4894 |
|
|
4895 |
# try remove an unexisting carddef: do nothing
|
|
4896 |
unused_carddef = CardDef()
|
|
4897 |
unused_carddef.name = 'External Card (not used)'
|
|
4898 |
unused_carddef.fields = []
|
|
4899 |
unused_carddef.workflow = external_wf
|
|
4900 |
unused_carddef.store()
|
|
4901 |
LoggedError.wipe()
|
|
4902 |
action.slug = 'carddef:%s' % unused_carddef.url_name
|
|
4903 |
wf.store()
|
|
4904 |
perform_items([action], formdata)
|
|
4905 |
assert LoggedError.count() == 0
|
|
4906 |
assert external_formdef.data_class().count() == 0
|
|
4907 |
assert external_carddef.data_class().count() == 1
|
|
4908 |
# remove the right carddef
|
|
4909 |
action.slug = 'carddef:%s' % external_carddef.url_name
|
|
4910 |
wf.store()
|
|
4911 |
perform_items([action], formdata)
|
|
4912 |
assert LoggedError.count() == 0
|
|
4913 |
assert external_formdef.data_class().count() == 0
|
|
4914 |
assert external_carddef.data_class().count() == 0
|
|
4915 |
|
4892 |
4916 |
|
4893 |
4917 |
def test_call_external_workflow_with_data_sourced_object(pub):
|
4894 |
4918 |
FormDef.wipe()
|