Update test with pytest syntax further
This commit is contained in:
parent
8938ec79cf
commit
28a23c4d02
|
|
@ -1,6 +1,60 @@
|
||||||
# import pytest
|
import pytest
|
||||||
|
from core.tests.base_test import GQLClient
|
||||||
|
from users.models import SchoolClass
|
||||||
|
from api.schema import schema
|
||||||
|
from core.tests.helpers import GQLResult
|
||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# @pytest.fixture(scope="session")
|
# @pytest.fixture(scope="session")
|
||||||
# def prefix():
|
# def prefix():
|
||||||
# return "Meine Klasse"
|
# return "Meine Klasse"
|
||||||
|
|
||||||
|
from users.services import create_users as _create_users
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def create_users():
|
||||||
|
_create_users()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def teacher(django_user_model):
|
||||||
|
return django_user_model.objects.get(username="teacher")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def teacher2(django_user_model):
|
||||||
|
return django_user_model.objects.get(username="teacher2")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def student1(django_user_model):
|
||||||
|
return django_user_model.objects.get(username="student1")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def student2(django_user_model):
|
||||||
|
return django_user_model.objects.get(username="student2")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def student_second_class(django_user_model):
|
||||||
|
return django_user_model.objects.get(username="student_second_class")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def school_class():
|
||||||
|
return SchoolClass.objects.get(name="skillbox")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def get_client(teacher, rf):
|
||||||
|
def _get_client(user):
|
||||||
|
request = rf.get("/")
|
||||||
|
if user is None:
|
||||||
|
user = teacher
|
||||||
|
request.user = user
|
||||||
|
return GQLClient(schema=schema, context_value=request)
|
||||||
|
|
||||||
|
return _get_client
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,8 @@
|
||||||
import pytest
|
import pytest
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
from django.test import TestCase
|
|
||||||
from graphene import Context
|
from graphene import Context
|
||||||
from graphene.test import Client
|
|
||||||
from graphql_relay import to_global_id
|
from graphql_relay import to_global_id
|
||||||
|
|
||||||
from api.schema import schema
|
|
||||||
from api.utils import get_graphql_mutation, get_object
|
from api.utils import get_graphql_mutation, get_object
|
||||||
from core.factories import TeacherFactory, UserFactory
|
from core.factories import TeacherFactory, UserFactory
|
||||||
from core.tests.base_test import SkillboxTestCase
|
from core.tests.base_test import SkillboxTestCase
|
||||||
|
|
@ -18,22 +15,25 @@ UPDATE_SCHOOL_CLASS_MUTATION = get_graphql_mutation("updateSchoolClass.gql")
|
||||||
pytestmark = pytest.mark.django_db
|
pytestmark = pytest.mark.django_db
|
||||||
|
|
||||||
|
|
||||||
# @pytest.fixture
|
@pytest.fixture
|
||||||
# def prefix():
|
def prefix():
|
||||||
# return "Meine Klasse"
|
return "Meine Klasse"
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.usefixtures("create_users")
|
||||||
def test_default_class_name_initial(prefix):
|
def test_default_class_name_initial(prefix):
|
||||||
class_name = SchoolClass.generate_default_group_name()
|
class_name = SchoolClass.generate_default_group_name()
|
||||||
assert "{} 1".format(prefix) == class_name
|
assert "{} 1".format(prefix) == class_name
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.usefixtures("create_users")
|
||||||
def test_default_class_name_initial_with_similar_existing(prefix):
|
def test_default_class_name_initial_with_similar_existing(prefix):
|
||||||
SchoolClass.objects.create(name="{} abc212".format(prefix))
|
SchoolClass.objects.create(name="{} abc212".format(prefix))
|
||||||
class_name = SchoolClass.generate_default_group_name()
|
class_name = SchoolClass.generate_default_group_name()
|
||||||
assert "{} 1".format(prefix) == class_name
|
assert "{} 1".format(prefix) == class_name
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.usefixtures("create_users")
|
||||||
def test_default_class_name_if_existing(prefix):
|
def test_default_class_name_if_existing(prefix):
|
||||||
SchoolClass.objects.create(name="{} 1".format(prefix))
|
SchoolClass.objects.create(name="{} 1".format(prefix))
|
||||||
SchoolClass.objects.create(name="{} 10".format(prefix))
|
SchoolClass.objects.create(name="{} 10".format(prefix))
|
||||||
|
|
@ -41,12 +41,32 @@ def test_default_class_name_if_existing(prefix):
|
||||||
assert "{} 11".format(prefix) == class_name
|
assert "{} 11".format(prefix) == class_name
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.usefixtures("create_users")
|
||||||
def test_default_class_name_with_user(prefix):
|
def test_default_class_name_with_user(prefix):
|
||||||
user = UserFactory(username="hansli")
|
user = UserFactory(username="hansli")
|
||||||
class_name = SchoolClass.generate_default_group_name(user=user)
|
class_name = SchoolClass.generate_default_group_name(user=user)
|
||||||
assert f"{prefix} {user.pk}" == class_name
|
assert f"{prefix} {user.pk}" == class_name
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.usefixtures("create_users")
|
||||||
|
class ModifySchoolClassPyTest:
|
||||||
|
def test_update_school_class(self, school_class, get_client):
|
||||||
|
class_name = "The Colbert Show"
|
||||||
|
|
||||||
|
assert school_class.name == "skillbox"
|
||||||
|
id = to_global_id("SchoolClassNode", school_class.id)
|
||||||
|
|
||||||
|
client = get_client()
|
||||||
|
result = client.execute(
|
||||||
|
UPDATE_SCHOOL_CLASS_MUTATION,
|
||||||
|
variables={"input": {"id": id, "name": class_name}},
|
||||||
|
)
|
||||||
|
assert result.errors is None
|
||||||
|
|
||||||
|
school_class = get_object(SchoolClass, id)
|
||||||
|
assert school_class.name == class_name
|
||||||
|
|
||||||
|
|
||||||
class ModifySchoolClassTest(SkillboxTestCase):
|
class ModifySchoolClassTest(SkillboxTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
create_users()
|
create_users()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue