more tests

This commit is contained in:
2019-02-16 20:23:50 +01:00
parent 1d677e47ef
commit f96a59680a
389 changed files with 488 additions and 3238 deletions

View File

@ -93,18 +93,8 @@ class TiramisuOptionOption:
raise Exception('unsupported type {}'.format(self.schema['type']))
def properties(self) -> List[str]:
props = []
model = self.model.get(self._path, {})
if model.get('required'):
# FIXME 'empty', 'needs_len'
props.append('mandatory')
if model.get('readOnly'):
props.append('frozen')
if self.config.get_hidden(self._path):
props.append('hidden')
if self.form.get(self._path, {}).get('clearable'):
props.append('clearable')
return props
return self.config.get_properties(self.model, self._path)
def requires(self) -> None:
# FIXME
@ -121,25 +111,13 @@ class TiramisuOptionProperty:
self.model = model
def get(self, only_raises=False):
# FIXME if slave:
#if not isslave and childapi.option.ismulti():
# if 'empty' in props:
# obj['required'] = True
# props.remove('empty')
# if 'mandatory' in props:
# obj['needs_len'] = True
# props.remove('mandatory')
if not only_raises:
properties = self.model.get('properties', [])[:]
if self.model.get('required', False):
properties.append('mandatory')
if self.model.get('readOnly', False):
properties.append('frozen')
props = self.config.get_properties(self.model, self.path, only_raises)
else:
properties = []
props = []
if self.config.get_hidden(self.path):
properties.append('hidden')
return properties
props.append('hidden')
return props
class _Value:
@ -216,6 +194,9 @@ class TiramisuOptionOwner:
def isdefault(self) -> Any:
return self.config.get_owner(self.path) == 'default'
def get(self) -> str:
return self.config.get_owner(self.path)
class TiramisuOptionValue(_Value):
# config.option(path).value
@ -572,6 +553,26 @@ class Config:
remote,
None)
def get_properties(self,
model,
path,
only_raises=True):
props = model.get('properties', [])[:]
if model.get('required'):
if self.get_schema(path).get('isMulti', False):
props.append('empty')
else:
props.append('mandatory')
if model.get('needs_len'):
props.append('mandatory')
if model.get('readOnly'):
props.append('frozen')
if only_raises and self.get_hidden(path):
props.append('hidden')
if self.form.get(path, {}).get('clearable'):
props.append('clearable')
return props
def get_schema(self,
path):
root_path = self.root