mirror of https://github.com/snachodog/mybuddy.git
Add tests utilities and core views tests.
This commit is contained in:
parent
f9c286cb77
commit
646ffbf093
|
@ -5,7 +5,7 @@ from .base import *
|
||||||
|
|
||||||
SECRET_KEY = '(z4ha%^_=7#jco0wmna_#0jvyyt!03#f7l_y%@1x(a2xj$nrx%'
|
SECRET_KEY = '(z4ha%^_=7#jco0wmna_#0jvyyt!03#f7l_y%@1x(a2xj$nrx%'
|
||||||
DEBUG = True
|
DEBUG = True
|
||||||
# Enables the debug template varaible.
|
|
||||||
INTERNAL_IPS = (
|
INTERNAL_IPS = (
|
||||||
'0.0.0.0',
|
'0.0.0.0',
|
||||||
'127.0.0.1',
|
'127.0.0.1',
|
||||||
|
|
|
@ -0,0 +1,131 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.test import TestCase
|
||||||
|
from django.test import Client as HttpClient
|
||||||
|
from django.contrib.auth.models import User
|
||||||
|
from django.core.management import call_command
|
||||||
|
|
||||||
|
from faker import Factory
|
||||||
|
|
||||||
|
from core import models
|
||||||
|
|
||||||
|
|
||||||
|
class ViewsTestCase(TestCase):
|
||||||
|
@classmethod
|
||||||
|
def setUpClass(cls):
|
||||||
|
super(ViewsTestCase, cls).setUpClass()
|
||||||
|
fake = Factory.create()
|
||||||
|
call_command('migrate', verbosity=0)
|
||||||
|
call_command('fake', verbosity=0)
|
||||||
|
|
||||||
|
cls.c = HttpClient()
|
||||||
|
|
||||||
|
fake_user = fake.simple_profile()
|
||||||
|
cls.credentials = {
|
||||||
|
'username': fake_user['username'],
|
||||||
|
'password': fake.password()
|
||||||
|
}
|
||||||
|
cls.user = User.objects.create_user(
|
||||||
|
is_superuser=True, **cls.credentials)
|
||||||
|
|
||||||
|
cls.c.login(**cls.credentials)
|
||||||
|
|
||||||
|
def test_child_views(self):
|
||||||
|
page = self.c.get('/children/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/children/add/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
|
||||||
|
entry = models.Child.objects.first()
|
||||||
|
page = self.c.get('/children/{}/'.format(entry.slug))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/children/{}/edit/'.format(entry.slug))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/children/{}/delete/'.format(entry.slug))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
|
||||||
|
def test_diaperchange_views(self):
|
||||||
|
page = self.c.get('/changes/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/changes/add/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
|
||||||
|
entry = models.DiaperChange.objects.first()
|
||||||
|
page = self.c.get('/changes/{}/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/changes/{}/delete/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
|
||||||
|
def test_feeding_views(self):
|
||||||
|
page = self.c.get('/feedings/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/feedings/add/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
|
||||||
|
entry = models.Feeding.objects.first()
|
||||||
|
page = self.c.get('/feedings/{}/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/feedings/{}/delete/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
|
||||||
|
def test_note_views(self):
|
||||||
|
page = self.c.get('/notes/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/notes/add/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
|
||||||
|
entry = models.Note.objects.first()
|
||||||
|
page = self.c.get('/notes/{}/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/notes/{}/delete/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
|
||||||
|
def test_sleep_views(self):
|
||||||
|
page = self.c.get('/sleep/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/sleep/add/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
|
||||||
|
entry = models.Sleep.objects.first()
|
||||||
|
page = self.c.get('/sleep/{}/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/sleep/{}/delete/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
|
||||||
|
def test_timer_views(self):
|
||||||
|
page = self.c.get('/timers/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/timer/add/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
|
||||||
|
page = self.c.get('/timer/add/quick/')
|
||||||
|
self.assertEqual(page.status_code, 302)
|
||||||
|
entry = models.Timer.objects.first()
|
||||||
|
page = self.c.get('/timer/{}/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
|
||||||
|
page = self.c.get('/timer/{}/edit/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
# Post to test custom get_success_url() method.
|
||||||
|
page = self.c.post('/timer/{}/edit/'.format(entry.id), {'name': 'New'})
|
||||||
|
self.assertEqual(page.status_code, 302)
|
||||||
|
|
||||||
|
page = self.c.get('/timer/{}/delete/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/timer/{}/stop/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 302)
|
||||||
|
page = self.c.get('/timer/{}/restart/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 302)
|
||||||
|
|
||||||
|
def test_tummytime_views(self):
|
||||||
|
page = self.c.get('/tummy-time/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/tummy-time/add/')
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
|
||||||
|
entry = models.TummyTime.objects.first()
|
||||||
|
page = self.c.get('/tummy-time/{}/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
||||||
|
page = self.c.get('/tummy-time/{}/delete/'.format(entry.id))
|
||||||
|
self.assertEqual(page.status_code, 200)
|
|
@ -10,7 +10,7 @@ urlpatterns = [
|
||||||
url(r'^children/add/$', views.ChildAdd.as_view(), name='child-add'),
|
url(r'^children/add/$', views.ChildAdd.as_view(), name='child-add'),
|
||||||
url(r'^children/(?P<slug>[^/.]+)/$', views.ChildDetail.as_view(),
|
url(r'^children/(?P<slug>[^/.]+)/$', views.ChildDetail.as_view(),
|
||||||
name='child'),
|
name='child'),
|
||||||
url(r'^children/(?P<slug>[^/.]+)/edit$', views.ChildUpdate.as_view(),
|
url(r'^children/(?P<slug>[^/.]+)/edit/$', views.ChildUpdate.as_view(),
|
||||||
name='child-update'),
|
name='child-update'),
|
||||||
url(r'^children/(?P<slug>[^/.]+)/delete/$', views.ChildDelete.as_view(),
|
url(r'^children/(?P<slug>[^/.]+)/delete/$', views.ChildDelete.as_view(),
|
||||||
name='child-delete'),
|
name='child-delete'),
|
||||||
|
@ -47,12 +47,12 @@ urlpatterns = [
|
||||||
|
|
||||||
url(r'^timers/$', views.TimerList.as_view(), name='timer-list'),
|
url(r'^timers/$', views.TimerList.as_view(), name='timer-list'),
|
||||||
url(r'^timer/add/$', views.TimerAdd.as_view(), name='timer-add'),
|
url(r'^timer/add/$', views.TimerAdd.as_view(), name='timer-add'),
|
||||||
url(r'^timer/(?P<pk>[0-9]+)/edit$', views.TimerUpdate.as_view(),
|
|
||||||
name='timer-update'),
|
|
||||||
url(r'^timer/add/quick/$', views.TimerAddQuick.as_view(),
|
url(r'^timer/add/quick/$', views.TimerAddQuick.as_view(),
|
||||||
name='timer-add-quick'),
|
name='timer-add-quick'),
|
||||||
url(r'^timer/(?P<pk>[0-9]+)/$', views.TimerDetail.as_view(),
|
url(r'^timer/(?P<pk>[0-9]+)/$', views.TimerDetail.as_view(),
|
||||||
name='timer-detail'),
|
name='timer-detail'),
|
||||||
|
url(r'^timer/(?P<pk>[0-9]+)/edit/$', views.TimerUpdate.as_view(),
|
||||||
|
name='timer-update'),
|
||||||
url(r'^timer/(?P<pk>[0-9]+)/delete/$', views.TimerDelete.as_view(),
|
url(r'^timer/(?P<pk>[0-9]+)/delete/$', views.TimerDelete.as_view(),
|
||||||
name='timer-delete'),
|
name='timer-delete'),
|
||||||
url(r'^timer/(?P<pk>[0-9]+)/stop/$', views.TimerStop.as_view(),
|
url(r'^timer/(?P<pk>[0-9]+)/stop/$', views.TimerStop.as_view(),
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
var gulp = require('gulp');
|
||||||
|
|
||||||
|
var spawn = require('child_process').spawn;
|
||||||
|
|
||||||
|
|
||||||
|
gulp.task('test', function(cb) {
|
||||||
|
spawn(
|
||||||
|
'pipenv',
|
||||||
|
[
|
||||||
|
'run',
|
||||||
|
'python',
|
||||||
|
'manage.py',
|
||||||
|
'test'
|
||||||
|
],
|
||||||
|
{
|
||||||
|
stdio: 'inherit'
|
||||||
|
}
|
||||||
|
).on('exit', cb);
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('coverage', function(cb) {
|
||||||
|
spawn(
|
||||||
|
'pipenv',
|
||||||
|
[
|
||||||
|
'run',
|
||||||
|
'coverage',
|
||||||
|
'run',
|
||||||
|
'--source=api,core,dashboard,reports',
|
||||||
|
'manage.py',
|
||||||
|
'test'
|
||||||
|
],
|
||||||
|
{
|
||||||
|
stdio: 'inherit'
|
||||||
|
}
|
||||||
|
).on('exit', cb);
|
||||||
|
});
|
Loading…
Reference in New Issue