Commit 2abd70b86f0254103667710e819cfc4eacdb339f
Committed by
Sergio Oliveira
1 parent
197b2837
Exists in
master
and in
39 other branches
Create the test environment.
Attention: You should remove super_archives/fixtures/initial_data.json for make the tests running.
Showing
4 changed files
with
70 additions
and
16 deletions
Show diff stats
README.rst
@@ -72,3 +72,19 @@ To run Colab with development server you will have to: | @@ -72,3 +72,19 @@ To run Colab with development server you will have to: | ||
72 | 72 | ||
73 | **NOTE**: In case you want to keep the configuration file else where just set the | 73 | **NOTE**: In case you want to keep the configuration file else where just set the |
74 | desired location in environment variable **COLAB_SETTINGS**. | 74 | desired location in environment variable **COLAB_SETTINGS**. |
75 | + | ||
76 | +About test | ||
77 | +========== | ||
78 | + | ||
79 | +How to write a tests. | ||
80 | +-------------------- | ||
81 | +Inside of each folder on /vagrant/colab/<folder> you can create a folder called | ||
82 | +"tests", and inside of it implements the code for test each file. | ||
83 | + | ||
84 | +How to run a test | ||
85 | +----------------- | ||
86 | + | ||
87 | +Follow the steps below: | ||
88 | + | ||
89 | +* Go to vagrant/colab/ | ||
90 | +* run: colab-admin test |
colab/accounts/tests.py
@@ -1,16 +0,0 @@ | @@ -1,16 +0,0 @@ | ||
1 | -""" | ||
2 | -This file demonstrates writing tests using the unittest module. These will pass | ||
3 | -when you run "manage.py test". | ||
4 | - | ||
5 | -Replace this with more appropriate tests for your application. | ||
6 | -""" | ||
7 | - | ||
8 | -from django.test import TestCase | ||
9 | - | ||
10 | - | ||
11 | -class SimpleTest(TestCase): | ||
12 | - def test_basic_addition(self): | ||
13 | - """ | ||
14 | - Tests that 1 + 1 always equals 2. | ||
15 | - """ | ||
16 | - self.assertEqual(1 + 1, 2) |
@@ -0,0 +1,54 @@ | @@ -0,0 +1,54 @@ | ||
1 | +""" | ||
2 | +This file demonstrates writing tests using the unittest module. These will pass | ||
3 | +when you run "manage.py test". | ||
4 | + | ||
5 | +Replace this with more appropriate tests for your application. | ||
6 | +""" | ||
7 | + | ||
8 | +from django.test import TestCase | ||
9 | +from django.test.client import RequestFactory | ||
10 | +from django.contrib.messages.storage.fallback import FallbackStorage | ||
11 | +from colab.accounts.views import ManageUserSubscriptionsView | ||
12 | +from colab.accounts.views import UserProfileDetailView | ||
13 | +from colab.accounts.models import User | ||
14 | +from django.http.response import Http404 | ||
15 | +from colab.accounts.views import signup | ||
16 | + | ||
17 | +class AccountsTest(TestCase): | ||
18 | + | ||
19 | + def setUp(self): | ||
20 | + self.factory = RequestFactory() | ||
21 | + | ||
22 | + def test_successful_signup(self): | ||
23 | + form_data = { | ||
24 | + 'first_name': 'John', | ||
25 | + 'last_name': 'Doe', | ||
26 | + 'email': 'john@doe.com', | ||
27 | + 'username': 'johndoe', | ||
28 | + } | ||
29 | + | ||
30 | + post_request = self.factory.post('/account/register/', data=form_data) | ||
31 | + | ||
32 | + # It makes unittest understant it must add messages | ||
33 | + # See: https://code.djangoproject.com/ticket/17971 | ||
34 | + setattr(post_request, 'session', 'session') | ||
35 | + messages = FallbackStorage(post_request) | ||
36 | + setattr(post_request, '_messages', messages) | ||
37 | + | ||
38 | + response = signup(post_request) | ||
39 | + | ||
40 | + self.assertEqual('/account/johndoe', response['Location']) | ||
41 | + | ||
42 | + | ||
43 | + def test_invalid_user(self): | ||
44 | + | ||
45 | + get_request = self.factory.get('/account/johndoe/') | ||
46 | + | ||
47 | + has404 = False; | ||
48 | + | ||
49 | + try: | ||
50 | + response = UserProfileDetailView.as_view()(get_request, username='johndoe') | ||
51 | + except Http404: | ||
52 | + has404 = True; | ||
53 | + | ||
54 | + self.assertTrue(has404) |