Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions project/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,15 @@ def add_categories():
return jsonify(response), 400


@request_blueprint.route("/requests", methods=["GET"])
def get_all_request():
response = {
"status": "success",
"data": {"requests": [request.to_json() for request in Request.query.all()]},
}
return jsonify(response), 200


@request_blueprint.route("/requests", methods=["POST"])
def create_request():
post_data = request.get_json()
Expand Down
70 changes: 70 additions & 0 deletions project/tests/test_request.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
import json
import unittest

from project.tests.base import BaseTestCase
from database_singleton import Singleton

from project.api.models import Request

db = Singleton().database_connection()


def add_request(
productname, startdate, enddate, description, requester, productcategoryid
):
lender = None

request = Request(
productname,
startdate,
enddate,
description,
requester,
lender,
productcategoryid,
)

db.session.add(request)
db.session.commit()
return request


class TestRequest(BaseTestCase):
def test_get_all_requests(self):
add_request(
"Banco Imobiliario",
"2020-09-12 00:00:00.000",
"2020-09-30 00:00:00.000",
"Queria um banco imobiliário emprestado para jogar com meus amigos neste fim de semana!",
"matheus@email.com",
3,
)
add_request(
"Jogo da vida",
"2020-09-12 00:00:00.000",
"2020-09-30 00:00:00.000",
"Queria um jogo da vida emprestado para jogar com meus amigos neste fim de semana!",
"matheus@email.com",
3,
)
add_request(
"War",
"2020-09-12 00:00:00.000",
"2020-09-30 00:00:00.000",
"Queria um war emprestado para jogar com meus amigos neste fim de semana!",
"matheus@email.com",
3,
)

with self.client:
response = self.client.get("/requests")
data = json.loads(response.data.decode())

self.assertEqual(response.status_code, 200)
self.assertIn("success", data["status"])

self.assertIn(
"Banco Imobiliario", data["data"]["requests"][0]["productname"]
)
self.assertIn("Jogo da vida", data["data"]["requests"][1]["productname"])
self.assertIn("War", data["data"]["requests"][2]["productname"])