Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -- FILE: features/steps/example_steps.py
- from behave import given, when, then, step
- from system_zapisow.models import Student, CourseInstance, Token
- from django.contrib.auth.models import User
- from system_zapisow.student_functions import sign_up_for_course
- from system_zapisow.auth import auth_and_get_token
- #dałam globalnie bo nie wiem jak mam się do tego dostać jak jest w given :(
- #num_of_tokens_before_login = len(Token.objects.all())
- @given('a student {username} with password {password}')
- def step_impl(context, username, password):
- u = User.objects.create_user(username=username, password=password)
- s = Student.objects.create(user=u)
- @given('a CourseInstance {instance_name} with maximum capacity {capacity:d}')
- def step_impl(context, instance_name, capacity):
- c = CourseInstance.objects.create(name=instance_name, maxStudents=capacity)
- @given('a user {username} with password {password}')
- def step_impl(context, username, password):
- u = User.objects.create_user(username=username, password=password)
- context.num_of_tokens_before_login = len(Token.objects.all())
- @when('student {username} has registration rights')
- def step_impl(context, username):
- u = Student.objects.get(user__username=username)
- u.registration_rights = True
- u.save()
- @when('user {username} log in to system')
- def step_impl(context, username):
- u = User.objects.get(username=username)
- token = auth_and_get_token(login=u.username, password=u.password)
- @then('student {username} can sign up for courses')
- def step_impl(context, username):
- u = Student.objects.get(user__username=username)
- assert u.registration_rights == True
- @then('student {username} cant sign up for courses')
- def step_impl(context, username):
- u = Student.objects.get(user__username=username)
- assert u.registration_rights == False
- @then('student {username} can sign up for {instance_name}')
- def step_impl(context, username, instance_name):
- u = Student.objects.get(user__username=username)
- c = CourseInstance.objects.get(name=instance_name)
- assert sign_up_for_course(u,c)
- @then('student {username} can\'t sign up for {instance_name}')
- def step_impl(context, username, instance_name):
- u = Student.objects.get(user__username=username)
- c = CourseInstance.objects.get(name=instance_name)
- assert not sign_up_for_course(u,c)
- @then('number of tokens after login should increase')
- def step_impl(context):
- num_of_tokens_after_login = len(Token.objects.all())
- assert context.num_of_tokens_before_login < num_of_tokens_after_login
- @then('user\'s {username} token should be generated')
- def step_impl(context,username):
- assert Token.objects.get(user__username=username) is not None
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement