예제 #1
2
def create_user():
    """Create a sample User."""
    faker = Faker()
    user = User.objects.create_user(
        username=faker.pronounceable_unique_id(length=30),
        first_name=faker.word().title(),
        last_name=faker.word().title(),
        email=faker.email(),
        password=faker.password())
    return user
예제 #2
0
 def wrapper(self):
     faker = Faker()
     username = faker.pronounceable_unique_id(length=30)
     password = faker.password()
     user = User.objects.create_user(
         username=username,
         first_name=faker.word().title(),
         last_name=faker.word().title(),
         email=faker.email(),
         password=password)
     user.save()
     self.client.login(username=username, password=password)
     return func(self)
예제 #3
0
파일: tests.py 프로젝트: ruslanosipov/rblog
class CreateCommentFormTest(TestCase):
    _multiprocess_can_split_ = True

    class AuthenticatedUser(User):
        def is_authenticated(self):
            return True

    def setUp(self):
        self.faker = Faker()
        self.body = self.faker.paragraphs(paragraphs=2, sentences=2)
        self.guest_name = self.faker.words(words=2).title()
        self.author = create_user()
        self.post = create_post()
        self.post.save()

    def test_guest_name_has_to_be_present_for_anonymous_user(self):
        data = {
            'body': self.body,
            'post': self.post.id}
        form = CommentForm(data=data)
        self.assertFalse(form.is_valid())
        self.assertIn(_("This field is required."), form.errors['guest_name'])

    def test_guest_name_is_not_required_for_logged_in_user(self):
        request = HttpRequest()
        request.user = self.AuthenticatedUser(
            username=self.faker.pronounceable_unique_id(length=30),
            password=self.faker.password(),
            email=self.faker.email())
        data = {
            'body': self.body,
            'post': self.post.id}
        form = CommentForm(data=data, request=request)
        self.assertTrue(form.is_valid())

    def test_save_anonymous_user(self):
        data = {
            'body': self.body,
            'post': self.post.id,
            'guest_name': self.guest_name}
        form = CommentForm(data=data)
        self.assertTrue(form.is_valid())
        comment = form.save()
        self.assertEqual(comment.body, self.body)
        self.assertEqual(comment.post, self.post)
        self.assertEqual(comment.guest_name, self.guest_name)
        self.assertLessEqual(comment.created_at, timezone.now())