def test_ContentElementsSimple_load_fm_db(client, value): '''clean up structure and content tables''' # [_structure.delete_fm_db() for _structure in StructureModel.find()] [_content.delete_fm_db() for _content in ContentModel.find()] '''init''' '''Create test constants''' _view_id = choice(global_constants.get_VIEWS_PKS) _locale_id = choice(global_constants.get_PKS) _record_id = '_'.join([ str(randrange(99)).zfill(2), choice(ContentElementsSimple._types)]) _value = value('simple element load fm db testing') '''Fill contents table''' _record = content_schema.load({ 'identity': _record_id, 'view_id': _view_id, 'locale_id': _locale_id, 'title': _value.get('title'), 'content': _value.get('content') }, session=dbs_global.session) _record.save_to_db() content_elements_simple = ContentElementsSimple.load_fm_db( identity=_record_id, view_id=_view_id, locale_id=_locale_id) assert content_elements_simple.upper_index\ == int(_record_id.split('_')[0]) assert content_elements_simple.type == _record_id.split('_')[1] _simple_json = json.dumps( content_elements_simple.element.value, sort_keys=True) # _value_json = assert _simple_json == json.dumps(_value, sort_keys=True)
def test_ContentElementsSimple_save_to_db_content_structure( client, value): '''clean up structure and content tables''' [_structure.delete_fm_db() for _structure in StructureModel.find()] [_content.delete_fm_db() for _content in ContentModel.find()] '''init''' _view_id = choice(global_constants.get_VIEWS_PKS) _locale_id = choice(global_constants.get_PKS) _upper_index = randrange(100) _user_id = randrange(64) _type = 'header' _name = 'name' # _value = value('db value') _element = value('element value') '''creating element for testing''' _content_element = ContentElementsSimple( upper_index=_upper_index, type=_type, name=_name, element=_element) _content_element.save_to_db_content( view_id=_view_id, locale_id=_locale_id, user_id=_user_id, save_structure=True) '''testing useing load''' _loaded_instance = ContentElementsSimple.load_fm_db( identity={'_'.join([str(_upper_index).zfill(2), _type])}, view_id=_view_id, locale_id=_locale_id, load_name=True) '''test loaded element''' assert _loaded_instance.upper_index == _upper_index assert _loaded_instance.type == _type assert _loaded_instance.name == _name assert _loaded_instance.element.value == _element '''testing records in tables''' _found_db_instance = ContentModel.find_by_identity_view_locale( identity='_'.join([str(_upper_index).zfill(2), _type]), view_id=_view_id, locale_id=_locale_id ) assert _found_db_instance.identity\ == '_'.join([str(_upper_index).zfill(2), _type]) assert _found_db_instance.title == _element.get('title') assert _found_db_instance.content == _element.get('content') '''update db record with element instance, same PKs''' _element = value(marker='new value') _name = f'new {_name}' # _upper_index = randrange(50, 100) _user_id = randrange(64, 128) _new_instance = ContentElementsSimple( upper_index=_upper_index, type=_type, name=_name, element=_element) _new_instance.save_to_db_content( view_id=_view_id, locale_id=_locale_id, user_id=_user_id, save_structure=True) _found_identity = ContentElementsSimple.load_fm_db( identity='_'.join([str(_upper_index).zfill(2), _type]), view_id=_view_id, locale_id=_locale_id, load_name=True ) assert _found_identity.upper_index == _upper_index assert _found_identity.type == _type # assert _found_identity.name == _name assert _found_identity.element.value == _element