def test_modify_entity(self): # TODO: test erroneous cases (required field deleted, field type # mismatch etc.) test_srv = Service.by_property( 'name', u'Предоставление земельного участка многодетной семье') required_srv = Service.by_property( 'name', u'Регистрация по месту жительства') kmplks_to_remove = Kompleks.by_property('name', u'Рождение ребенка') test_srv.prerequisite_description = u"это нужно будет удалить" test_srv.put() req_data = [ {'name': 'short_description', 'value': u'тест тест тест'}, {'name': "dependencies", 'edits': [ {'values': [required_srv.urlsafe()], 'method': 'add'}]}, {'name': 'related_komplekses', 'edits': [ {'values': [kmplks_to_remove.urlsafe()], 'method': 'subtract'}]}, {'name': 'prerequisite_description', 'value': None}] req_url = '/admin/api/entities/' + test_srv.urlsafe() response = self.testapp.put_json(req_url, req_data) self.assertEqual(response.status_int, 200) test_srv = from_urlsafe(test_srv.urlsafe()) self.assertEqual(test_srv.prerequisite_description, None) self.assertNotIn( from_urlsafe(kmplks_to_remove.urlsafe(),key_only=True), test_srv.related_komplekses) self.assertIn(from_urlsafe(required_srv.urlsafe(), key_only=True), test_srv.dependencies) self.assertEqual(test_srv.short_description, u'тест тест тест')
def test_backref_query(self): backref_info = Kompleks.backref_info() self.assertEqual(backref_info, { 'Service': ['containing_komplekses', 'related_komplekses'], 'DocumentToService': ['kompleks']}) test_srv = Service.by_property( u'name', u'Государственная регистрация рождения ребенка') dts_items = list(test_srv.backref_query('DocumentToService', 'service')) self.assertEqual(len(dts_items), 7)
def test_new_entity(self): # TODO: test erroneous cases (required fields left blank, field type # mismatch etc.) dependencies = [ Service.by_property('name', n, key_only=True) for n in (u'Государственная регистрация рождения ребенка', u'Регистрация по месту жительства') ] kompleks = Kompleks.by_property( 'name', u'Рождение ребенка', key_only=True) ogv = OGV.by_property('short_name', u'УЗАГС', key_only=True) req_data = [ {'name': 'id', 'value': -1}, {'name': 'name', 'value': u'Тестовая услуга'}, {'name': 'short_description', 'value': u'Короткое тестовое описание тестовой услуги'}, {'name': 'kb_id', 'value': -1}, {'name': 'prerequisite_description', 'value': u'Тестовое описание условий, при которых нужда в ' u'тестовой услуге отпадает'}, {'name': 'max_days', 'value': 10}, {'name': 'max_work_days', 'value': 100}, {'name': 'terms_description', 'value': u'Тестовый комментарий к срокам предоставления тестовой ' u'услуги'}, {'name': 'ogv', 'value': ogv.urlsafe()}, {'name': 'containing_komplekses', 'value': [kompleks.urlsafe()]}, {'name': 'dependencies', 'value': [d.urlsafe() for d in dependencies]} ] req_url = '/admin/api/Service/entities' response = self.testapp.post_json(req_url, req_data) self.assertEqual(response.status_int, 200) test_srv = from_urlsafe(json.loads(response.body).get('id')) self.assertEqual( (test_srv.id, test_srv.name, test_srv.short_description, test_srv.kb_id, test_srv.prerequisite_description, test_srv.max_days, test_srv.max_work_days, test_srv.terms_description, test_srv.ogv, test_srv.containing_komplekses, test_srv.dependencies), (-1, u'Тестовая услуга', u'Короткое тестовое описание тестовой услуги', -1, u'Тестовое описание условий, при которых нужда в тестовой услуге ' u'отпадает', 10, 100, u'Тестовый комментарий к срокам предоставления тестовой услуги', ogv, [kompleks], dependencies) )