Advertisement
Guest User

Untitled

a guest
Jan 29th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. class Skill(models.Model):
  2. title = models.CharField(max_length=255)
  3. category = models.ForeignKey(
  4. SkillCategory, default=None, null=True, blank=True
  5. )
  6.  
  7. def __unicode__(self):
  8. return self.title
  9.  
  10. class UserProfile(models.Model):
  11. user = models.OneToOneField(User)
  12. skill = models.ManyToManyField(Skill, default=None)
  13. avatar = models.URLField(
  14. max_length=400, default=None, null=True, blank=True
  15. )
  16.  
  17. def __unicode__(self):
  18. return self.user.username
  19.  
  20. def update_skills(self, cleaned_skills):
  21. for s in cleaned_skills:
  22. skill, created = Skill.objects.get_or_create(title=s)
  23. self.skill.add(skill)
  24.  
  25. class ProfileTestCase(unittest.TestCase):
  26. def setUp(self):
  27. # mock user
  28. self.user = mock.Mock(spec=User)
  29. self.user.username = "john"
  30. self.user.email = "johndoe@hotmail.com"
  31. self.user.password = "pass"
  32. # mock profile
  33. self.userprofile = mock.Mock(spec=UserProfile)
  34. self.userprofile.user = self.user
  35. # mock skill category
  36. self.skill_category = mock.Mock(spec=SkillCategory)
  37. self.skill_category.title = "foo"
  38. # mock skill
  39. self.skill = mock.Mock(spec=Skill)
  40. self.skill.title = "ninja"
  41. self.skill.category = self.skill_category
  42.  
  43. def test_skillcategory_created(self):
  44. self.assertEqual(self.skill.category.title, 'foo')
  45.  
  46. def test_skill_created(self):
  47. self.assertEqual(self.skill.title, 'ninja')
  48.  
  49. ...
  50. # and so on
  51.  
  52. ...
  53.  
  54. def test_update_skills(self):
  55. cleaned_skills = ['mysql', 'unix']
  56. self.userprofile.update_skills(cleaned_skills)
  57. skills = self.userprofile.skill.values_list('title', flat=True)
  58. self.assertTrue('mysql' in skills)
  59.  
  60. self.userprofile.update_skills(cleaned_skills)
  61.  
  62. def test_my_method(self):
  63. my_model = MyModel(someattr='someval', ...)
  64. self.assertEqual(my_model.my_method(), ...)
  65.  
  66. from mixer.backend.django import mixer
  67.  
  68. skill = mixer.blend(Skill, category__title='foo')
  69. userprofile = mixer.blend(UserProfile, user__username='john')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement