tests: make sure all advertised keys are ok for users sourced items (#67955)
This commit is contained in:
parent
c83a06990c
commit
d4b115cbe5
|
@ -1046,6 +1046,46 @@ def test_lazy_formdata_live_user_item(pub, local_user):
|
||||||
assert 'form_var_foo_live_email' in context.get_flat_keys()
|
assert 'form_var_foo_live_email' in context.get_flat_keys()
|
||||||
|
|
||||||
|
|
||||||
|
def test_lazy_formdata_user_items(pub, local_user):
|
||||||
|
NamedDataSource.wipe()
|
||||||
|
datasource = NamedDataSource(name='foo')
|
||||||
|
datasource.data_source = {'type': 'wcs:users'}
|
||||||
|
datasource.store()
|
||||||
|
|
||||||
|
user2 = get_publisher().user_class()
|
||||||
|
user2.name = 'Second User'
|
||||||
|
user2.email = 'second.user@example.com'
|
||||||
|
user2.store()
|
||||||
|
|
||||||
|
formdef = FormDef()
|
||||||
|
formdef.name = 'foobar'
|
||||||
|
formdef.fields = [
|
||||||
|
fields.ItemsField(
|
||||||
|
id='0',
|
||||||
|
label='users',
|
||||||
|
type='items',
|
||||||
|
varname='foo',
|
||||||
|
data_source={'type': 'foo'},
|
||||||
|
)
|
||||||
|
]
|
||||||
|
formdef.store()
|
||||||
|
|
||||||
|
formdata = formdef.data_class()()
|
||||||
|
formdata.data = {
|
||||||
|
'0': [str(local_user.id), str(user2.id)],
|
||||||
|
}
|
||||||
|
formdata.data['0_display'] = formdef.fields[0].store_display_value(formdata.data, '0')
|
||||||
|
formdata.data['0_structured'] = formdef.fields[0].store_structured_value(formdata.data, '0')
|
||||||
|
assert formdata.data['0_display'] == 'Jean Darmette, Second User'
|
||||||
|
|
||||||
|
pub.substitutions.feed(pub)
|
||||||
|
pub.substitutions.feed(formdef)
|
||||||
|
pub.substitutions.feed(formdata)
|
||||||
|
|
||||||
|
context = pub.substitutions.get_context_variables(mode='lazy')
|
||||||
|
assert [context[k] for k in context.get_flat_keys()]
|
||||||
|
|
||||||
|
|
||||||
def test_lazy_formdata_queryset(pub, variable_test_data):
|
def test_lazy_formdata_queryset(pub, variable_test_data):
|
||||||
lazy_formdata = variable_test_data
|
lazy_formdata = variable_test_data
|
||||||
data_class = lazy_formdata._formdef.data_class()
|
data_class = lazy_formdata._formdef.data_class()
|
||||||
|
|
Loading…
Reference in New Issue