def add_tasks(data): response = [] for task_data in data: error_msg = check_fields(task_data, ('title', 'description', 'author', 'users')) if error_msg is not None: response.append(error_msg) continue is_exist, task_or_msg = check_task_exist(task_data) if is_exist: response.append({ 'result': False, 'message': 'Task exist', 'data': task_data }) continue Task.create(source=task_data) response.append({ 'result': True, 'message': 'Task successfully added', 'data': task_data, }) return response
def test_task_delete(self): task1 = Task.create(total=1) task2 = Task.create(total=2) self.assertTrue(Task.delete(task1.id)) self.assertFalse(Task.find_recent(task1.id)) self.assertTrue(Task.find_recent(task2.id)) with self.assertRaises(TypeError): Task.delete('asdasd')
def test_change_task(self): u = User() p = Product(name="Adidas - Yeezy Boost 700") Profile.create(name="test", owner=u) profile = Profile.query.filter_by(name="test").first() Task.create(selected_size=5, product=p, by=u, profile=profile) u.tasks[0].change_data(selected_size=6, ) self.assertEqual(u.tasks[0].selected_size, '6')
def test_delete_task(self): u = User() p = Product(name="Adidas - Yeezy Boost 700") Profile.create(name="test", owner=u) profile = Profile.query.filter_by(name="test").first() Task.create(selected_size=5, product=p, by=u, profile=profile) u.delete_task_by_id(1) self.assertEqual(len(u.tasks), 0)
def test_task_create(self): task = Task.create(total=100) self.assertTrue(isinstance(task, Task)) self.assertTrue(task.total is 100) self.assertTrue(task.progress is 0) self.assertTrue(isinstance(task, Task)) self.assertTrue(isinstance(task, Task)) with self.assertRaises(TypeError): Task.create() with self.assertRaises(TypeError): Task.create('asdasd')
def test_update_view(self): response = self.client.put( url_for('main.update_task', task_id=1), data=dict(total=1) ) data = json.loads(response.get_data(as_text=True)) self.assertEqual(response.status_code, 404) self.assertEqual(data['status'], 'not found') task = Task.create(total=100) response = self.client.put( url_for('main.update_task', task_id=task.id), ) data = json.loads(response.get_data(as_text=True)) self.assertEqual(response.status_code, 404) self.assertEqual(data['status'], 'not found') response = self.client.put( url_for('main.update_task', task_id=task.id), data=dict(progress=20) ) data = json.loads(response.get_data(as_text=True)) self.assertEqual(response.status_code, 200) self.assertEqual(data['task']['progress'], 20)
def insert(): from app.models import Task import datetime, json, uuid areacount = { "res1": { "areaname": "1-5列", "number": 100 }, "res2": { "areaname": "6-10列", "number": 150 } } firsttime = datetime.datetime(2017, 12, 9, 16, 10, 12, 946118) task = Task.create( uuid=uuid.uuid4(), employee=uuid.uuid4(), supervisor='14512e40-fa81-49bc-80ff-a8e0aa6fa747', department='00c2ed9f-8dc8-43ba-903d-85bb78de6392', manager='df611ca1-9f56-4a15-8e1f-4718da7c37d0', tasktype='图书回架', dt_task='每日任务', area_count=json.dumps(areacount), img_url='http://localhost:5000/img.jpg', status='初审通过', ftrialtime=firsttime, strialtime=firsttime, bk_type='阅览图书', ) return jsonify(state=0, msg=dict(task._data))
def test_add_task(self): u = User() p = Product(name="Adidas - Yeezy Boost 700") Profile.create(name="test", owner=u) profile = Profile.query.filter_by(name="test").first() Task.create(product=p, by=u, profile=profile) # Check Task Exist self.assertEqual(u.tasks[0].id, 1) # Check Profile Exist self.assertEqual(u.tasks[0].profile.name, 'test') # Check Product Exist self.assertEqual(u.tasks[0].product.name, "Adidas - Yeezy Boost 700")
def tasks_add(): form = CreateTaskForm() product = Product.query.filter_by(id=form.raffle_id.data).first() selected_proxy = get_proxy_by_name(form.proxies.data) Task.create( selected_size=form.size.data, entries=form.entries.data, credit_card=format_cc_to_json( form.cc_number.data, form.cc_exp.data, form.cc_cvv.data), product=product, profile=form.profiles.data, proxy=json.dumps(selected_proxy[0]), by=current_user, ) flash('Task Added') return redirect(url_for('main.tasks'))
def test_task_find(self): task = Task.create(total=100) found = Task.find_recent(task.id) self.assertTrue(task.id is found.id) self.assertFalse(Task.find_recent(10)) with self.assertRaises(TypeError): Task.find_recent('asdasd')
def test_delete_view(self): response = self.client.delete(url_for('main.delete_task', task_id=1)) data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['status'], 'not found') task = Task.create(total=100) response = self.client.delete(url_for('main.delete_task', task_id=task.id)) data = json.loads(response.get_data(as_text=True)) self.assertEqual(response.status_code, 200) self.assertEqual(data['status'], 'deleted')
def create_task(): form = request.get_json() name = form.get('t_name', '') desc = form.get("t_desc", "") apis = form.get("t_apis", "") if not name or not apis: return jsonify({"code": 400, "msg": "参数错误"}) # userId = get_jwt_identity() new_task = Task(t_name=name, t_desc=desc, t_apis=str(apis)) try: new_task.create() return jsonify({"code": 201, "msg": "创建任务成功"}) except Exception as e: db.session.rollback() print(e) return jsonify({"code": 400, "msg": str(e)}) finally: db.session.close()
def test_task_recent(self): task1 = Task.create(total=1) task2 = Task.create(total=2) task3 = Task.create(total=3) self.assertEqual(len(Task.get_recent_tasks()), 3) task3.updated_at = task3.updated_at - timedelta(60) db.session.add(task3) db.session.commit() self.assertEqual(len(Task.get_recent_tasks()), 2) task2.updated_at = task2.updated_at - timedelta(60) db.session.add(task2) db.session.commit() self.assertEqual(len(Task.get_recent_tasks()), 1) task1.updated_at = task1.updated_at - timedelta(60) db.session.add(task1) db.session.commit() self.assertEqual(len(Task.get_recent_tasks()), 0) task1.updated_at = datetime.utcnow() task2.updated_at = datetime.utcnow() task3.updated_at = datetime.utcnow() db.session.add(task1) db.session.add(task2) db.session.add(task3) db.session.commit() self.assertEqual(len(Task.get_recent_tasks()), 3) with self.assertRaises(TypeError): Task.get_recent_tasks('asdasd')
def new_task(class_id): form = TaskForm() cls = Class(ObjectId(class_id)) cls.flask_validate() if form.validate_on_submit(): date = form.date.data time = form.time.data dt = datetime.combine(date, time or datetime.min.time()) if date else None created_task = Task.create(form.name.data, class_=cls, date=dt, description=form.description.data, category=form.category.data) return redirect(url_for('pages.view_class', class_id=class_id)) return render_template('new_task.html', form=form)
def add_task(): form = AddTask() form.users_id.choices = [ (user.id, user.login) for user in User.query.all() ] task_ = {'author_id': current_user.id} if form.validate_on_submit(): task_ = Task.create({ 'title': form.title.data, 'description': form.description.data, 'author_id': current_user.id, 'users_id': form.users_id.data, }) flash('Task successfully assigned', 'primary') return render_template( 'add_task.html', title='Add task', form=form, task=task_, current_user=current_user )
def test_task_update(self): task = Task.create(total=100) prev_updated_at = task.updated_at self.assertTrue(Task.update(task.id, progress=1)) self.assertTrue(task.total is 100) self.assertTrue(task.progress is 1) self.assertTrue(task.updated_at > prev_updated_at) Task.update(task.id, progress=100, inc=True) self.assertTrue(task.progress is 101) with self.assertRaises(TypeError): Task.update(task.id, 'asdasd') with self.assertRaises(TypeError): Task.update('asdasd', '12') with self.assertRaises(ValueError): Task.update(task.id, -10)
def test_tasks_view(self): response = self.client.get(url_for('main.tasks')) self.assertEqual(response.status_code, 200) data = json.loads(response.get_data(as_text=True)) self.assertEqual(len(data['tasks']), 0) self.assertEqual(data['total'], 0) task = Task.create(total=100) response = self.client.get(url_for('main.tasks')) data = json.loads(response.get_data(as_text=True)) self.assertEqual(len(data['tasks']), 1) self.assertEqual(data['tasks'][0]['id'], task.id) self.assertEqual(data['total'], 1) task.updated_at = datetime.utcnow() - timedelta(seconds=100) db.session.add(task) db.session.commit() response = self.client.get(url_for('main.tasks')) data = json.loads(response.get_data(as_text=True)) self.assertEqual(len(data['tasks']), 0) self.assertEqual(data['total'], 0)