def test_no_more_tasks(self): """Test that a users gets always tasks""" self.create() app = App(short_name='egil', name='egil', description='egil') owner = db.session.query(User).get(1) app.owner_id = owner.id db.session.add(app) db.session.commit() app_id = app.id for i in range(20): task = Task(app=app, info={'i': i}, n_answers=10) db.session.add(task) db.session.commit() tasks = db.session.query(Task).filter_by(app_id=app.id).limit(11).all() for t in tasks[0:10]: for x in range(10): self._add_task_run(app, t) assert tasks[0].n_answers == 10 url = 'api/app/%s/newtask' % app_id res = self.app.get(url) data = json.loads(res.data) err_msg = "User should get a task" assert 'app_id' in data.keys(), err_msg assert data['app_id'] == app_id, err_msg assert data['id'] == tasks[10].id, err_msg
def test_app_errors(self): """Test project model errors.""" app = App(name='Project', short_name='proj', description='desc', owner_id=None) # App.owner_id shoult not be nullable db.session.add(app) assert_raises(IntegrityError, db.session.commit) db.session.rollback() # App.name shoult not be nullable user = User(email_addr="*****@*****.**", name="johndoe", fullname="John Doe", locale="en") db.session.add(user) db.session.commit() user = db.session.query(User).first() app.owner_id = user.id app.name = None db.session.add(app) assert_raises(IntegrityError, db.session.commit) db.session.rollback() app.name = '' db.session.add(app) assert_raises(IntegrityError, db.session.commit) db.session.rollback() # App.short_name shoult not be nullable app.name = "Project" app.short_name = None db.session.add(app) assert_raises(IntegrityError, db.session.commit) db.session.rollback() app.short_name = '' db.session.add(app) assert_raises(IntegrityError, db.session.commit) db.session.rollback() # App.description shoult not be nullable db.session.add(app) app.short_name = "project" app.description = None assert_raises(IntegrityError, db.session.commit) db.session.rollback() app.description = '' db.session.add(app) assert_raises(IntegrityError, db.session.commit) db.session.rollback()