1 class SomeManager(models.Manager):
2 def future(self):
3 return self.get_query_set().filter(pub_date__gte=datetime.today())
4
5 class SomeClass(models.Model):
6 pub_date = models.DateField()
7 objects = SomeManager()
1 class SomeManagerTest(TestCase):
2 fixtures = "some_fixtures.json"
3
4 def test_future_method(self):
5 self.assertEqual(4, SomeClass.objects.future().count())
1 from fixture_generator import fixture_generator
2
3 from events.models import EventCategory, Event
4 from django.contrib.auth.models import User, Group
5
6 @fixture_generator(User, requires=["events.test_categories"])
7 def test_users():
8 festival, tasting = EventCategory.objects.order_by("name")
9 fortnights_festival = Event.objects.create(
10 title="Beer Fest",
11 start_date=datetime.today() - timedelta(days=14),
12 category=festival)
13 tomorrows_tasting = Event.objects.create(
14 title="Tripel Tasting",
15 start_date=datetime.today() + timedelta(days=1),
16 category=tasting)
17
18 @fixture_generator(Category)
19 def test_categories():
20 EventCategory.objects.create(name="Tasting")
21 EventCategory.objects.create(name="Festival")
./manage.py generate_fixture my_app.test_users
1 class Event(models.Model):
2 title = models.CharField(max_length=100)
3 start_date = models.DateField(default=datetime.today())
4 description = models.TextField()
5
6 class EventTestCase(TestCase):
7 def setUp(self):
8 yesterday = datetime.today() - timedelta(days=1)
9 tomorrow = datetime.today() + timedelta(days=1)
10 old_event = any_model(Event, start_date=yesterday)
11 current_event = any_model(Event)
12 future_event = any_model(Event, start_date=tomorrow)
1 class MyGeneratorMixin(object):
2 def get_category(self, name=""):
3 return CategoryModel.objects.create(name=name)
4
5 def get_event(self, title, start_date):
6 return EventModel.objects.create(start_date=start_date,
7 title=title, category=self.get_category())
8
9 def setUp(self):
10 yesterday = datetime.today() - timedelta(days=1)
11 tomorrow = datetime.today() + timedelta(days=1)
12 old_event = self.get_event("Old event", start_date=yesterday)
13 future_event = self.get_event("Old event", start_date=tomorrow)
14
15 class ModelTestCase(MyGeneratorMixin, TestCase):
16 ...
17
18 class ViewModelTestCase(MyGeneratorMixin, TestCase):
19 ...
20
21 class FormsTestCase(MyGeneratorMixin, TestCase):
22 ...
None of the code in this presentation has been tested. Many module imports are implied.
Table of Contents | t |
---|---|
Exposé | ESC |
Full screen slides | e |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide slide context | c |
Notes | 2 |
Help | h |