Skip to content

Commit

Permalink
added tests for misbehaving Bools
Browse files Browse the repository at this point in the history
  • Loading branch information
agroszer committed Feb 23, 2016
1 parent f1d702e commit c3a3ab6
Show file tree
Hide file tree
Showing 3 changed files with 168 additions and 0 deletions.
80 changes: 80 additions & 0 deletions src/z3c/form/browser/object_multi_dict_integration.txt
Expand Up @@ -881,3 +881,83 @@ Change key values, item values must stick to the new values.
multiDate: datetime.date(2014, 6, 20)
multiInt: -100
multiTextLine: u'some text one'>}

Bool was misbehaving
---------------------

>>> sub1 = testing.ObjectWidgetMultiSubIntegration(
... multiInt=-100,
... multiBool=False,
... multiChoice='two',
... multiChoiceOpt='six',
... multiTextLine=u'some text one',
... multiDate=date(2014, 6, 20))

>>> sub2 = testing.ObjectWidgetMultiSubIntegration(
... multiInt=42,
... multiBool=True,
... multiChoice='one',
... multiChoiceOpt='four',
... multiTextLine=u'second txt',
... multiDate=date(2011, 3, 15))

>>> obj.dictOfObject = {u'subob1': sub1, u'subob2': sub2}

>>> request = testing.TestRequest()
>>> content = getForm(request)

>>> submit = testing.getSubmitValues(content)
>>> submit['form.widgets.dictOfObject.0.widgets.multiBool'] = u'true'
>>> submit['form.buttons.apply'] = u'Apply'

>>> request = testing.TestRequest(form=submit)

>>> content = getForm(request)
>>> print(testing.plainText(content))
Data successfully updated.
...

>>> pprint(obj.dictOfObject)
{u'subob1': <ObjectWidgetMultiSubIntegration
multiBool: True
multiChoice: 'two'
multiChoiceOpt: 'six'
multiDate: datetime.date(2014, 6, 20)
multiInt: -100
multiTextLine: u'some text one'>,
u'subob2': <ObjectWidgetMultiSubIntegration
multiBool: True
multiChoice: 'one'
multiChoiceOpt: 'four'
multiDate: datetime.date(2011, 3, 15)
multiInt: 42
multiTextLine: u'second txt'>}


>>> submit = testing.getSubmitValues(content)
>>> submit['form.widgets.dictOfObject.0.widgets.multiBool'] = u'false'
>>> submit['form.buttons.apply'] = u'Apply'

>>> request = testing.TestRequest(form=submit)

>>> content = getForm(request)
>>> print(testing.plainText(content))
Data successfully updated.
...

>>> pprint(obj.dictOfObject)
{u'subob1': <ObjectWidgetMultiSubIntegration
multiBool: False
multiChoice: 'two'
multiChoiceOpt: 'six'
multiDate: datetime.date(2014, 6, 20)
multiInt: -100
multiTextLine: u'some text one'>,
u'subob2': <ObjectWidgetMultiSubIntegration
multiBool: True
multiChoice: 'one'
multiChoiceOpt: 'four'
multiDate: datetime.date(2011, 3, 15)
multiInt: 42
multiTextLine: u'second txt'>}

43 changes: 43 additions & 0 deletions src/z3c/form/browser/object_multi_list_integration.txt
Expand Up @@ -810,3 +810,46 @@ Now the object gets updated:
multiDate: datetime.date(2014, 6, 23)
multiInt: 1042
multiTextLine: u'moo900'>]


Bool was misbehaving
---------------------

>>> submit = testing.getSubmitValues(content)
>>> submit['form.widgets.listOfObject.0.widgets.multiBool'] = u'true'
>>> submit['form.buttons.apply'] = u'Apply'

>>> request = testing.TestRequest(form=submit)
>>> content = getForm(request)
>>> print(testing.plainText(content))
Data successfully updated.
...

>>> pprint(obj.listOfObject)
[<ObjectWidgetMultiSubIntegration
multiBool: True
multiChoice: 'two'
multiChoiceOpt: 'six'
multiDate: datetime.date(2014, 6, 23)
multiInt: 1042
multiTextLine: u'moo900'>]


>>> submit = testing.getSubmitValues(content)
>>> submit['form.widgets.listOfObject.0.widgets.multiBool'] = u'false'
>>> submit['form.buttons.apply'] = u'Apply'

>>> request = testing.TestRequest(form=submit)
>>> content = getForm(request)
>>> print(testing.plainText(content))
Data successfully updated.
...

>>> pprint(obj.listOfObject)
[<ObjectWidgetMultiSubIntegration
multiBool: False
multiChoice: 'two'
multiChoiceOpt: 'six'
multiDate: datetime.date(2014, 6, 23)
multiInt: 1042
multiTextLine: u'moo900'>]
45 changes: 45 additions & 0 deletions src/z3c/form/browser/object_single_integration.txt
Expand Up @@ -235,3 +235,48 @@ Let's fix the values:
*
some R/O text
[Apply]


Bool was misbehaving

>>> submit = testing.getSubmitValues(content)
>>> submit['form.widgets.subobj.widgets.singleBool'] = u'false'
>>> submit['form.buttons.apply'] = 'Apply'

>>> request = testing.TestRequest(form=submit)

>>> content = getForm(request, 'ObjectWidget_single_edit_submit_bool1.html')
>>> print(testing.plainText(content))
Data successfully updated.
...

>>> pprint(obj.subobj)
<ObjectWidgetSingleSubIntegration
singleBool: False
singleChoice: 'three'
singleChoiceOpt: 'four'
singleDate: datetime.date(2014, 6, 21)
singleInt: 1042
singleReadOnly: u'some R/O text'
singleTextLine: u'foobar'>

>>> submit = testing.getSubmitValues(content)
>>> submit['form.widgets.subobj.widgets.singleBool'] = u'true'
>>> submit['form.buttons.apply'] = 'Apply'

>>> request = testing.TestRequest(form=submit)

>>> content = getForm(request, 'ObjectWidget_single_edit_submit_bool2.html')
>>> print(testing.plainText(content))
Data successfully updated.
...

>>> pprint(obj.subobj)
<ObjectWidgetSingleSubIntegration
singleBool: True
singleChoice: 'three'
singleChoiceOpt: 'four'
singleDate: datetime.date(2014, 6, 21)
singleInt: 1042
singleReadOnly: u'some R/O text'
singleTextLine: u'foobar'>

0 comments on commit c3a3ab6

Please sign in to comment.