Skip to content

Commit

Permalink
100% test coverage through config and tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
judy2k committed Dec 31, 2014
1 parent 8a106ec commit 7c5fadb
Show file tree
Hide file tree
Showing 8 changed files with 77 additions and 13 deletions.
11 changes: 11 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[run]
source = pew
branch = True

[report]
omit =
pew/manage.py
pew/pew/wsgi.py
*/admin.py
*/migrations/*
*/tests.py
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ export PYTHONPATH=pew

test:
flake8 pew/pew --ignore=E124,E501,E127,E128
coverage run --branch --source=pew ./pew/manage.py test pew --settings=pew.settings
coverage run ./pew/manage.py test pew --settings=pew.settings
coverage html
coverage report
11 changes: 11 additions & 0 deletions pew/events/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,14 @@ def test_unpublished_future_events_dont_show(self):
)

self.assertEqual(len(Event.upcoming.all()), 0)

def test_get_absolute_url(self):
evt = Event.objects.create(
title='Future Event',
description='this event is going to be great.',
event_dt=timezone.datetime(2015, 3, 12),
location='The Pub',
published=False,
slug='new-event',
)
self.assertEqual('/events/2015/3/new-event', evt.get_absolute_url())
3 changes: 0 additions & 3 deletions pew/main/models.py
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
from django.db import models

# Create your models here.
37 changes: 36 additions & 1 deletion pew/main/tests.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,38 @@
from unittest.mock import patch
from django.test import TestCase

# Create your tests here.
from datetime import timedelta
from django.test.client import RequestFactory
from django.utils import timezone

from events.models import Event
from . import views


class HomeViewTestCase(TestCase):
def setUp(self):
# Every test needs access to the request factory.
self.factory = RequestFactory()

self.events = [
Event.objects.create(
title='Future Event',
description='this event is going to be great.',
event_dt=timezone.now() + timedelta(seconds=5),
location='The Pub',
published=True,
slug='new-event',
)
]

def test_home_context_dict(self):
under_test = views._home_context_dict()
self.assertSequenceEqual(
under_test['upcoming_events'],
self.events
)

def test_home_dict_contains_upcoming_events(self):
request = self.factory.get('/')

views.home(request)
11 changes: 8 additions & 3 deletions pew/main/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ def home(request):
return render(
request,
'pew/home.html',
{
'upcoming_events': Event.upcoming.all()
})
_home_context_dict()
)


def _home_context_dict():
return {
'upcoming_events': Event.upcoming.all()
}
8 changes: 3 additions & 5 deletions requirements/development.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
-r _base.txt
nose==1.3.4
coverage==3.7.1
flake8==2.2.5
-r testing.txt

ipython==2.3.1
ipdb==0.8
ipdb==0.8

6 changes: 6 additions & 0 deletions requirements/testing.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
-r _base.txt

nose==1.3.4
coverage==3.7.1
flake8==2.2.5
coveralls

0 comments on commit 7c5fadb

Please sign in to comment.