From fae73f6af4d096d4eb5731ccbf08573a6b84c08c Mon Sep 17 00:00:00 2001 From: avgoeid Date: Tue, 31 Jan 2017 09:18:02 +0200 Subject: [PATCH] =?UTF-8?q?conference=20=D0=BF=D0=BE=D0=B4=D0=B3=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=BE=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/__init__.py | 0 apps/conference/models.py | 7 +-- apps/conference/tests.py | 16 ------ apps/conference/tests/__init__.py | 1 + apps/conference/tests/test_models.py | 75 ++++++++++++++++++++++++++++ apps/events/models.py | 2 +- proj/settings.py | 6 +-- 7 files changed, 84 insertions(+), 23 deletions(-) create mode 100644 apps/__init__.py delete mode 100644 apps/conference/tests.py create mode 100644 apps/conference/tests/__init__.py create mode 100644 apps/conference/tests/test_models.py diff --git a/apps/__init__.py b/apps/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/apps/conference/models.py b/apps/conference/models.py index 72be39fb..da977253 100644 --- a/apps/conference/models.py +++ b/apps/conference/models.py @@ -83,7 +83,7 @@ class Conference(TranslatableModel, EventMixin, ExpoMixin): periodic_once = models.CharField(verbose_name=_(u'Проводится в n-й раз'), help_text=_(u'10'), max_length=10, blank=True, null=True) periodic = models.FloatField(verbose_name=_(u'Переодичность'), blank=True, null=True) - audience = models.ManyToManyField(TargetAudience, null=True) + audience = BitField(flags=[k for k, v in BIT_AUDIENCE]) web_page = models.CharField(verbose_name=_(u'Вебсайт'), max_length=255, blank=True) link = models.CharField(verbose_name=_(u'Линк на регистрацию'), max_length=255, blank=True) programm_link = models.URLField(verbose_name=_(u'Программа конференции'), max_length=255, blank=True) @@ -115,7 +115,7 @@ class Conference(TranslatableModel, EventMixin, ExpoMixin): #translated fields translations = TranslatedFields( - name = models.CharField(verbose_name=_(u'Название'), max_length=255), + name=models.CharField(verbose_name=_(u'Название'), max_length=255), main_title=models.TextField(verbose_name=_(u'Краткое описание'), blank=True), description=models.TextField(verbose_name=_(u'Описание'), blank=True), main_themes=models.TextField(verbose_name=_(u'Основные темы'), blank=True), @@ -186,7 +186,8 @@ class Conference(TranslatableModel, EventMixin, ExpoMixin): return '/conference/' def get_audience(self): - checked = [item for item, bool in self.audience if bool==True] + print self.audience.all() + checked = [item for item, bool in self.audience if bool] audience = [] for k, v in BIT_AUDIENCE: for item in checked: diff --git a/apps/conference/tests.py b/apps/conference/tests.py deleted file mode 100644 index 501deb77..00000000 --- a/apps/conference/tests.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -This file demonstrates writing tests using the unittest module. These will pass -when you run "manage.py test". - -Replace this with more appropriate tests for your application. -""" - -from django.test import TestCase - - -class SimpleTest(TestCase): - def test_basic_addition(self): - """ - Tests that 1 + 1 always equals 2. - """ - self.assertEqual(1 + 1, 2) diff --git a/apps/conference/tests/__init__.py b/apps/conference/tests/__init__.py new file mode 100644 index 00000000..b91e669f --- /dev/null +++ b/apps/conference/tests/__init__.py @@ -0,0 +1 @@ +from .test_models import * diff --git a/apps/conference/tests/test_models.py b/apps/conference/tests/test_models.py new file mode 100644 index 00000000..0ef3b1bf --- /dev/null +++ b/apps/conference/tests/test_models.py @@ -0,0 +1,75 @@ +import datetime + +from django.test import TestCase + +from ..models import Conference, Speaker +from city.models import City +from country.models import Country +from events.models import TargetAudience + + +class ConferenceTest(TestCase): + def setUp(self): + + + self.conference = Conference.objects.create( + name='New Conference', + data_begin=datetime.datetime.now(), + data_end=datetime.timedelta(24)+datetime.datetime.now(), + country=Country.objects.all()[0], + city=City.objects.all()[0], + + url='new-conference', + audience=0 + ) + + + def test_a_conference_create(self): + conference_count = Conference.objects.all().count() + Conference.objects.create( + name='New Conference', + data_begin=datetime.datetime.now(), + data_end=datetime.timedelta(24)+datetime.datetime.now(), + country=Country.objects.all()[0], + city=City.objects.all()[0] + ) + new_conference_count = Conference.objects.all().count() + + self.assertEqual(conference_count + 1, new_conference_count) + + def test_save_conference_info(self): + name = 'New Conference' + datetime_now = datetime.datetime.now() + data_begin = datetime_now + data_end = datetime.timedelta(24) + datetime_now + country = Country.objects.all()[0] + city = City.objects.all()[0] + + new_conference = Conference.objects.create( + name=name, + data_begin=data_begin, + data_end=data_end, + country=country, + city=city + ) + + self.assertEqual(name, new_conference.name) + self.assertEqual(data_begin, new_conference.data_begin) + self.assertEqual(data_end, new_conference.data_end) + self.assertEqual(country, new_conference.country) + self.assertEqual(city, new_conference.city) + + def test_method_get_services(self): + pass + + def test_method_get_news_url(self): + self.assertEqual( + '%s' % self.conference.get_news_url(), + '/news/conference/%s/' % self.conference.url + ) + + def test_method_get_audience(self): + self.assertEqual(self.conference.get_audience(), '') + +class SpeakerTest(TestCase): + pass \ No newline at end of file diff --git a/apps/events/models.py b/apps/events/models.py index 040760e1..faef6e64 100644 --- a/apps/events/models.py +++ b/apps/events/models.py @@ -10,4 +10,4 @@ class TargetAudience(models.Model): title = models.CharField(_(u'Название'), max_length=200) def __unicode__(self): - return unicode(self.title) \ No newline at end of file + return unicode(self.title) diff --git a/proj/settings.py b/proj/settings.py index 0de4e410..96f4be49 100644 --- a/proj/settings.py +++ b/proj/settings.py @@ -2,10 +2,10 @@ # Django settings for proj project. import os import sys -import django -from django.utils.translation import ugettext_lazy as _ from ConfigParser import ConfigParser +import django +from django.utils.translation import ugettext_lazy as _ DJANGO_ROOT = os.path.dirname(os.path.realpath(django.__file__)) SITE_ROOT = os.path.split(os.path.dirname(os.path.realpath(__file__)))[0] @@ -531,7 +531,7 @@ PERIODIC = { # } try: - from local import * + from proj.local import * except ImportError, e: pass