Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.73 KB | None | 0 0
  1. # -- FILE: features/steps/example_steps.py
  2. from behave import given, when, then, step
  3. from system_zapisow.models import Student, CourseInstance, Token
  4. from django.contrib.auth.models import User
  5. from system_zapisow.student_functions import sign_up_for_course
  6. from system_zapisow.auth import auth_and_get_token
  7.  
  8. #dałam globalnie bo nie wiem jak mam się do tego dostać jak jest w given :(
  9. #num_of_tokens_before_login = len(Token.objects.all())
  10.  
  11. @given('a student {username} with password {password}')
  12. def step_impl(context, username, password):
  13.     u = User.objects.create_user(username=username, password=password)
  14.     s = Student.objects.create(user=u)
  15.  
  16.  
  17. @given('a CourseInstance {instance_name} with maximum capacity {capacity:d}')
  18. def step_impl(context, instance_name, capacity):
  19.     c = CourseInstance.objects.create(name=instance_name, maxStudents=capacity)
  20.  
  21.  
  22. @given('a user {username} with password {password}')
  23. def step_impl(context, username, password):
  24.     u = User.objects.create_user(username=username, password=password)
  25.     context.num_of_tokens_before_login = len(Token.objects.all())
  26.    
  27.  
  28. @when('student {username} has registration rights')
  29. def step_impl(context, username):
  30.     u = Student.objects.get(user__username=username)
  31.     u.registration_rights = True
  32.     u.save()
  33.  
  34.  
  35. @when('user {username} log in to system')
  36. def step_impl(context, username):
  37.     u = User.objects.get(username=username)
  38.     token = auth_and_get_token(login=u.username, password=u.password)
  39.  
  40.  
  41. @then('student {username} can sign up for courses')
  42. def step_impl(context, username):
  43.     u = Student.objects.get(user__username=username)
  44.     assert u.registration_rights == True
  45.  
  46.  
  47. @then('student {username} cant sign up for courses')
  48. def step_impl(context, username):
  49.     u = Student.objects.get(user__username=username)
  50.     assert u.registration_rights == False
  51.  
  52. @then('student {username} can sign up for {instance_name}')
  53. def step_impl(context, username, instance_name):
  54.     u = Student.objects.get(user__username=username)
  55.     c = CourseInstance.objects.get(name=instance_name)
  56.     assert sign_up_for_course(u,c)
  57.  
  58. @then('student {username} can\'t sign up for {instance_name}')
  59. def step_impl(context, username, instance_name):
  60.     u = Student.objects.get(user__username=username)
  61.     c = CourseInstance.objects.get(name=instance_name)
  62.     assert not sign_up_for_course(u,c)
  63.  
  64. @then('number of tokens after login should increase')
  65. def step_impl(context):
  66.     num_of_tokens_after_login = len(Token.objects.all())
  67.     assert context.num_of_tokens_before_login < num_of_tokens_after_login
  68.  
  69. @then('user\'s {username} token should be generated')
  70. def step_impl(context,username):
  71.     assert Token.objects.get(user__username=username) is not None
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement