示例#1
0
    def test_title_is_already_in_use(self, article, db):
        another = ArticleFactory.create(title="Now for Something Similar",
                                        subject_tags=[TagFactory(),
                                                      TagFactory()],
                                        authors=[UserFactory(),
                                                 UserFactory()])
        db.session.add(another)
        db.session.commit()

        # Oh noes! Titles are too similar!
        form = ArticleForm(
            title="Now for Something Similar",
            body=article.body,
            category=article.category,
            post="Post"
        )

        form.authors.choices = [(u.id, u.username) for u in User.get_all()]
        form.subject_tags.choices = [(t.id, t.name) for t in Tag.get_all()]
        form.category.choices = [(article.category, article.category)]

        form.authors.data = [auth.id for auth in article.authors]
        form.subject_tags.data = [tag.id for tag in article.subject_tags]

        assert form.validate() is False
        assert "Title already in use" in form.title.errors
示例#2
0
def register():
    form = RegisterForm(request.form, csrf_enabled=False)
    if form.validate_on_submit():
        new_user = User.create(username=form.username.data,
                               email=form.email.data,
                               password=form.password.data,
                               first_name=form.first_name.data,
                               last_name=form.last_name.data,
                               active=False)
        flash("Thank you for registering. You can now log in.", 'success')
        return redirect(url_for('public.home'))
    else:
        flash_errors(form)
    return render_template('public/register.html', form=form)
示例#3
0
    def test_validate_success(self, article, db):
        form = ArticleForm(
            title="Now for Something Completely Different",
            body=article.body,
            category=article.category,
            post="Post"
        )
        form.authors.choices = [(u.id, u.username) for u in User.get_all()]
        form.subject_tags.choices = [(t.id, t.name) for t in Tag.get_all()]
        form.category.choices = [(article.category, article.category)]

        form.authors.data = [auth.id for auth in article.authors]
        form.subject_tags.data = [tag.id for tag in article.subject_tags]

        assert form.validate() is True
示例#4
0
def load_user(id):
    return User.get_by_id(int(id))
示例#5
0
 def test_check_password(self):
     user = User.create(username="******", email="*****@*****.**",
                        password="******")
     assert user.check_password('foobarbaz123') is True
     assert user.check_password("barfoobaz") is False
示例#6
0
 def test_password_is_nullable(self):
     user = User(username='******', email='*****@*****.**')
     user.save()
     assert user.password is None
示例#7
0
 def test_created_at_defaults_to_datetime(self):
     user = User(username='******', email='*****@*****.**')
     user.save()
     assert bool(user.created_at)
     assert isinstance(user.created_at, dt.datetime)
示例#8
0
    def test_get_by_id(self):
        user = User('foo', email='*****@*****.**')
        user.save()

        retrieved = User.get_by_id(user.id)
        assert retrieved == user