Example #1
0
    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'тест тест тест')
Example #2
0
    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)
Example #3
0
    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)
        )