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 pytest
from django.db import transaction
from tests.client import BetterAPIClient
pytest_plugins = [
'tests.fixtures.users',
'tests.fixtures.finance',
'tests.fixtures.courses'
'access.tests.fixtures',
]

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

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

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

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

@ -8,8 +8,8 @@ from functools import partial
from django.utils import timezone
from yandex_money.models import Payment
from factories.courses import CourseFactory, TopicFactory, LessonFactory
from factories.users import UserFactory
from courses.factories import CourseFactory, TopicFactory, LessonFactory
from access.factories import UserFactory
from finance.models import Invoice
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
from yandex_money.models import Payment
from factories.finance import BillFactory, InvoiceFactory, PaymentFactory
from finance.factories import BillFactory, InvoiceFactory, PaymentFactory
PRICE = 1000.00
METHOD_CASH = 'C'

@ -12,7 +12,7 @@ from yandex_money.models import Payment
from finance import models
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_DESCRIPTION = 'test description'
Loading…
Cancel
Save