Ejemplo n.º 1
0
 def test_update_by_id_exists(self):
     _id = self._insert_record()
     res = TodoModel.update_by_id(
         _id,
         TodoModel(
             name="test_name",
             description="some desc",
             due_date=datetime.utcnow(),
             status=Status("to do"),
         ),
     )
     self.assertIs(res, None)
Ejemplo n.º 2
0
 def test_save_todo_create_a_record_inside_db(self):
     test_todo = TodoModel(
         name="test_name",
         description="some desc",
         due_date=datetime.utcnow(),
         status=Status("to do"),
     )
     test_todo.save()
     raw = text("select * from todo where name = '{}'".format("test_name"))
     result = db.session.execute(raw)
     results = []
     for r in result:
         results.append(r)
         self.assertTrue(r["name"] == "test_name")
     self.assertTrue(len(results) == 1)
def create_todo(body):  # noqa: E501
    """Create a new to-do

    Create a to-do # noqa: E501

    :param body: 
    :type body: dict | bytes

    :rtype: None
    """
    current_app.logger.debug(f"Client IP ADDRESS: {request.remote_addr}")
    if connexion.request.is_json:
        body = Todo.from_dict(connexion.request.get_json())  # noqa: E501
        TodoModel.from_obj(body).save()
        return None, 200
    else:
        raise BadRequest("missing body")
def get_todo_by_id(todoId):  # noqa: E501
    """Retrieve to-do by Id

    Return a to-do object if exists # noqa: E501

    :param todoId: 
    :type todoId: str

    :rtype: Todo
    """
    return TodoModel.get_by_id(todoId)
def delete_todo_by_id(todoId):  # noqa: E501
    """Delete existing to-do by Id

    Delete a to-do object if exists # noqa: E501

    :param todoId: 
    :type todoId: str

    :rtype: Todo
    """
    return TodoModel.delete_by_id(todoId)
Ejemplo n.º 6
0
    def test_retrieve_todo_list(self):
        for i in range(5):
            sql = text(
                f"""
                INSERT INTO todo 
                VALUES ({i + 1}, 'test-{i}', 'some text', '{str(datetime.now().strftime('%Y-%m-%d'))}', 'done');
                """
            )
            db.session.execute(sql)

        res = TodoModel.get_all().resources
        self.assertEqual(len(res), 5)
def get_todo_list(status=None, page=None, size=None):  # noqa: E501
    """Retrieve list of to-do

    Return a paginated list of to-do objects # noqa: E501

    :param status: filter result on to-do status
    :type status: str
    :param page: Page number
    :type page: int
    :param size: Number of records to return per page
    :type size: int

    :rtype: PaginatedResponseData
    """
    return TodoModel.get_all(page, size, status)
def update_todo_by_id(todoId, body):  # noqa: E501
    """Update existing to-do by Id

    Update a to-do object if exists # noqa: E501

    :param todoId: 
    :type todoId: str
    :param body: 
    :type body: dict | bytes

    :rtype: None
    """
    if connexion.request.is_json:
        body = Todo.from_dict(connexion.request.get_json())  # noqa: E501
        return TodoModel.update_by_id(todoId, body), 200
    else:
        raise BadRequest("missing body")
Ejemplo n.º 9
0
 def test_update_by_id_raises(self):
     with self.assertRaises(werkzeug.exceptions.NotFound):
         TodoModel.update_by_id(str(1), {})
Ejemplo n.º 10
0
 def test_delete_by_id_exists(self):
     _id = self._insert_record()
     res = TodoModel.delete_by_id(_id)
     self.assertEqual(res.id, _id)
Ejemplo n.º 11
0
 def test_get_by_id_raises(self):
     with self.assertRaises(werkzeug.exceptions.NotFound):
         TodoModel.get_by_id(str(1))