remotes/origin/feature/test_courses
Dmitriy Shesterkin 8 years ago
parent c9892b454c
commit 73d02e862a
  1. 0
      access/factories.py
  2. 5
      access/tests/conftest.py
  3. 2
      access/tests/fixtures.py
  4. 85
      access/tests/test_access_view.py
  5. 2
      courses/factories.py
  6. 2
      courses/tests/fixtures.py
  7. 0
      factories/__init__.py
  8. 4
      finance/factories.py
  9. 58
      finance/tests/conftest.py
  10. 2
      finance/tests/fixtures.py
  11. 2
      finance/tests/test_finance_view.py

@ -2,14 +2,11 @@ import os
import shutil import shutil
import pytest import pytest
from django.db import transaction
from tests.client import BetterAPIClient from tests.client import BetterAPIClient
pytest_plugins = [ pytest_plugins = [
'tests.fixtures.users', 'access.tests.fixtures',
'tests.fixtures.finance',
'tests.fixtures.courses'
] ]

@ -1,6 +1,6 @@
import pytest import pytest
from factories.users import UserFactory, AccountFactory from access.factories import UserFactory, AccountFactory
from access import groups from access import groups

@ -7,7 +7,7 @@ from django.urls import reverse
from rest_framework import status from rest_framework import status
from rest_framework.generics import get_object_or_404 from rest_framework.generics import get_object_or_404
from factories.users import USER_PASSWORD from access.factories import USER_PASSWORD
@pytest.mark.django_db @pytest.mark.django_db
@ -76,48 +76,45 @@ def test_generate_password_by_manager_for_not_active_student(manager_client, stu
@pytest.mark.django_db @pytest.mark.django_db
def test_login_user(api_client, student): class TestLogin:
""" def test_login_user(self, api_client, student):
Test login user """
""" Test login user
data = { """
'email': student.email, data = {
'password': USER_PASSWORD 'email': student.email,
} 'password': USER_PASSWORD
assert api_client.post( }
reverse('users:login'), assert api_client.post(
data=data, reverse('users:login'),
status=status.HTTP_200_OK data=data,
) status=status.HTTP_200_OK
)
@pytest.mark.django_db
def test_login_user_wrong_password(api_client, student):
"""
Test login user with wrong password
"""
data = {
'email': student.email,
'password': USER_PASSWORD + '1'
}
assert api_client.post(
reverse('users:login'),
data=data,
status=status.HTTP_403_FORBIDDEN
)
def test_login_user_wrong_password(self, api_client, student):
"""
Test login user with wrong password
"""
data = {
'email': student.email,
'password': USER_PASSWORD + '1'
}
assert api_client.post(
reverse('users:login'),
data=data,
status=status.HTTP_403_FORBIDDEN
)
@pytest.mark.django_db def test_login_user_wrong_user(self, api_client, student):
def test_login_user_wrong_user(api_client, student): """
""" Test login user with wrong password
Test login user with wrong password """
""" data = {
data = { 'email': student.email + '1',
'email': student.email + '1', 'password': USER_PASSWORD
'password': USER_PASSWORD }
} assert api_client.post(
assert api_client.post( reverse('users:login'),
reverse('users:login'), data=data,
data=data, status=status.HTTP_404_NOT_FOUND
status=status.HTTP_404_NOT_FOUND )
)

@ -5,7 +5,7 @@ import factory.fuzzy
from functools import partial from functools import partial
from factories.users import UserFactory from access.factories import UserFactory
from access import groups from access import groups

@ -1,6 +1,6 @@
import pytest import pytest
from factories.courses import CourseFactory, LessonFactory, TopicFactory from courses.factories import CourseFactory, LessonFactory, TopicFactory
@pytest.fixture @pytest.fixture

@ -8,8 +8,8 @@ from functools import partial
from django.utils import timezone from django.utils import timezone
from yandex_money.models import Payment from yandex_money.models import Payment
from factories.courses import CourseFactory, TopicFactory, LessonFactory from courses.factories import CourseFactory, TopicFactory, LessonFactory
from factories.users import UserFactory from access.factories import UserFactory
from finance.models import Invoice from finance.models import Invoice
Faker = partial(factory.Faker, locale='ru_RU') Faker = partial(factory.Faker, locale='ru_RU')

@ -0,0 +1,58 @@
import os
import shutil
import pytest
from tests.client import BetterAPIClient
pytest_plugins = [
'access.tests.fixtures',
'finance.tests.fixtures',
'courses.tests.fixtures'
]
def pytest_sessionfinish(session, exitstatus):
""" whole test run finishes. """
print('pytest finish: cleanup')
if os.path.exists('media_qa'):
shutil.rmtree('media_qa')
@pytest.fixture
def api_client():
"""Anonymous client for REST API."""
client = BetterAPIClient()
return client
@pytest.fixture
def admin_client(admin):
"""Authorized as admin(superuser) client for REST API."""
client = BetterAPIClient()
client.force_authenticate(user=admin)
return client
@pytest.fixture
def student_client(student):
"""Authorized as student client for REST API."""
client = BetterAPIClient()
client.force_authenticate(user=student)
return client
@pytest.fixture
def manager_client(manager):
"""Authorized as manager client for REST API."""
client = BetterAPIClient()
client.force_authenticate(user=manager)
return client
@pytest.fixture
def lead_manager_client(lead_manager):
"""Authorized as lead manager client for REST API."""
client = BetterAPIClient()
client.force_authenticate(user=lead_manager)
return client

@ -1,7 +1,7 @@
import pytest import pytest
from yandex_money.models import Payment from yandex_money.models import Payment
from factories.finance import BillFactory, InvoiceFactory, PaymentFactory from finance.factories import BillFactory, InvoiceFactory, PaymentFactory
PRICE = 1000.00 PRICE = 1000.00
METHOD_CASH = 'C' METHOD_CASH = 'C'

@ -12,7 +12,7 @@ from yandex_money.models import Payment
from finance import models from finance import models
from progress.models import Progress, ProgressLesson from progress.models import Progress, ProgressLesson
from tests.fixtures.finance import PRICE, METHOD_CASH, STATUS_WAIT, STATUS_PAID from finance.tests.fixtures import PRICE, METHOD_CASH, STATUS_WAIT, STATUS_PAID
DUMMY_COMMENT = 'test comment' DUMMY_COMMENT = 'test comment'
DUMMY_DESCRIPTION = 'test description' DUMMY_DESCRIPTION = 'test description'
Loading…
Cancel
Save