Исходный код edutesting.objectpack_integration_tests.unit_test

# coding: utf-8

from django.db.models.fields import AutoField
from django.conf import settings

from m3.actions import _import_by_path

from base_test import BaseTest


path = getattr(settings, 'OBJECTPACK_BASE_TEST', None)
if path:
    patched_base_test = _import_by_path(path)
else:
    patched_base_test = BaseTest


[документация]class BaseUnitTestModel(patched_base_test): exclude_field_checker = ['lft', 'rght', 'tree_id', 'level', ] exclude_model_checker = [] testing_model = None
[документация] def test_spell_model_verbose_name(self): """ Проверка орфографии verbose_name в моделях """ model = self.testing_model if model and model.__name__ not in self.exclude_model_checker: verbose_name = model._meta.verbose_name self.assertTrue(self.check_spell(unicode(verbose_name)), verbose_name)
[документация] def test_have_model_verbose_name(self): """ Проверка наличия в классе Meta модели verbose_name """ model = self.testing_model if model and model.__name__ not in self.exclude_model_checker: model_name = model.__name__.lower() verbose_name = unicode(model._meta.verbose_name) is_equal = model_name != verbose_name self.assertTrue( is_equal, 'Model used default class name in verbose name.')
[документация] def test_have_model_verbose_name_plural(self): """ Проверка наличия в классе Meta модели verbose_name_plural """ model = self.testing_model if model and model.__name__ not in self.exclude_model_checker: model_name = model.__name__.lower() verbose_name_plural = model._meta.verbose_name_plural is_equal = model_name != verbose_name_plural + u's' self.assertTrue( is_equal, 'Model used default class name in verbose name.')
[документация] def test_have_model_fields_verbose_name(self): """ Проверка наличия в field модели verbose_name """ model = self.testing_model if model and model.__name__ not in self.exclude_model_checker: all_fields = model._meta.fields for temp_field in all_fields: if temp_field.name not in self.exclude_field_checker: if not isinstance(temp_field, AutoField): if not temp_field.name.endswith('_ptr'): verbose_name = unicode(temp_field.verbose_name) field_name = temp_field.name.replace('_', ' ') is_equal = verbose_name != field_name self.assertTrue(is_equal, ( 'Error in field: ' + field_name + str(model)))
[документация] def test_spell_model_fields_verbose_name(self): """ Проверка орфографии у полей модели """ model = self.testing_model if model and model.__name__ not in self.exclude_model_checker: all_fields = model._meta.fields for temp_field in all_fields: if temp_field.name not in self.exclude_field_checker: if not isinstance(temp_field, AutoField): if not temp_field.name.endswith('_ptr'): verbose_name = unicode(temp_field.verbose_name) self.assertTrue( self.check_spell(verbose_name), verbose_name) if hasattr(temp_field, 'choices') and temp_field.choices: for key, val in temp_field.choices: self.assertTrue( self.check_spell(val), val)