def test_get_requests_filtered_by_category(self): add_category("Jogos") add_request( "Jogo da vida", FAKE_STARTDATE, FAKE_ENDDATE, "Queria um jogo da vida emprestado para jogar com meus amigos neste fim de semana!", FAKE_REQUESTER, 1, ) add_request( "War", FAKE_STARTDATE, FAKE_ENDDATE, "Queria um war emprestado para jogar com meus amigos neste fim de semana!", FAKE_REQUESTER, 1, ) with self.client: response = self.client.get( f"{REQUEST_BASE_URL}/available/1?usermail={FAKE_EMAIL}") data = json.loads(response.data.decode()) self.assertEqual(response.status_code, 200) self.assertIn("success", data["status"]) self.assertIn("Jogo da vida", data["data"]["requests"][0]["productname"]) self.assertIn("War", data["data"]["requests"][1]["productname"])
def test_get_all_requests_lender(self): add_category("Eletrodomésticos") add_request( "Jogo da vida", FAKE_STARTDATE, FAKE_ENDDATE, "Queria um jogo da vida emprestado para jogar com meus amigos neste fim de semana!", FAKE_REQUESTER, 1, lender="*****@*****.**", ) add_request( "War", FAKE_STARTDATE, FAKE_ENDDATE, "Queria um war emprestado para jogar com meus amigos neste fim de semana!", "*****@*****.**", 1, lender="*****@*****.**", ) with self.client: response = self.client.get( f"{REQUEST_BASE_URL}[email protected]") data = json.loads(response.data.decode()) self.assertEqual(response.status_code, 200) self.assertIn("success", data["status"]) self.assertEqual(len(data["data"]["requests"]), 1)
def test_edit_request(self): add_category("Eletrodomésticos") request = add_request( "Uno", FAKE_STARTDATE, FAKE_ENDDATE, FAKE_DESCRIPTION, FAKE_EMAIL, 1, ) with self.client: response = self.client.put( f"{REQUEST_BASE_URL}/{request.requestid}", data=json.dumps({ "productname": "Uno", "startdate": FAKE_STARTDATE, "enddate": FAKE_ENDDATE, "description": FAKE_DESCRIPTION, "requester": FAKE_EMAIL, "productcategoryid": 1, "lender": None, }), content_type="application/json", ) data = json.loads(response.data.decode()) self.assertEqual(response.status_code, 201) self.assertIn("Update completed!", data["data"]["update_status"]) self.assertIn("success", data["status"])
def test_get_all_requests(self): add_category("Eletrodomésticos") add_request( "Banco Imobiliario", FAKE_STARTDATE, FAKE_ENDDATE, "Queria um banco imobiliário emprestado para jogar com meus amigos neste fim de semana!", FAKE_REQUESTER, 1, ) add_request( "Jogo da vida", FAKE_STARTDATE, FAKE_ENDDATE, "Queria um jogo da vida emprestado para jogar com meus amigos neste fim de semana!", FAKE_REQUESTER, 1, ) add_request( "War", FAKE_STARTDATE, FAKE_ENDDATE, "Queria um war emprestado para jogar com meus amigos neste fim de semana!", FAKE_REQUESTER, 1, ) with self.client: response = self.client.get(REQUEST_BASE_URL) data = json.loads(response.data.decode()) self.assertEqual(response.status_code, 200) self.assertIn("success", data["status"]) self.assertEqual(len(data["data"]["requests"]), 3)
def test_not_available_requests(self): add_category("Eletrodomésticos") add_request( "Banco Imobiliario", FAKE_STARTDATE, FAKE_ENDDATE, "Queria um banco imobiliário emprestado para jogar com meus amigos neste fim de semana!", "*****@*****.**", 1, ) add_request( "Jogo da vida", FAKE_STARTDATE, "2021-01-30 00:00:00.000", "Queria um jogo da vida emprestado para jogar com meus amigos neste fim de semana!", FAKE_REQUESTER, 1, ) add_request( "War", FAKE_STARTDATE, FAKE_ENDDATE, "Queria um war emprestado para jogar com meus amigos neste fim de semana!", FAKE_REQUESTER, 1, lender="*****@*****.**", ) with self.client: response = self.client.get( f"{REQUEST_BASE_URL}/available?usermail={FAKE_EMAIL}") data = json.loads(response.data.decode()) self.assertEqual(response.status_code, 404) self.assertIn("fail", data["status"])
def test_finalize_request(self): add_category("Eletrodomésticos") product = add_request( "Banco Imobiliario", FAKE_STARTDATE, FAKE_ENDDATE, "Queria um banco imobiliário emprestado para jogar com meus amigos neste fim de semana!", FAKE_REQUESTER, 1, ) with self.client: response = self.client.patch( f"{REQUEST_BASE_URL}/{product.requestid}/finalize", content_type="application/json", ) data = json.loads(response.data.decode()) self.assertEqual(data["request"]["finalized"], True)
def test_delete_request(self): add_category("Eletrodomésticos") request = add_request( "Uno", FAKE_STARTDATE, FAKE_ENDDATE, FAKE_DESCRIPTION, FAKE_EMAIL, 1, ) with self.client: response = self.client.delete( f"{REQUEST_BASE_URL}/{request.requestid}") data = json.loads(response.data.decode()) self.assertEqual(response.status_code, 200) self.assertIn("Request deleted!", data["data"]["message"]) self.assertIn("success", data["status"])
def test_update_lender_request(self): add_category("Eletrodomésticos") product = add_request( "Banco Imobiliario", FAKE_STARTDATE, FAKE_ENDDATE, "Queria um banco imobiliário emprestado para jogar com meus amigos neste fim de semana!", FAKE_REQUESTER, 1, ) with self.client: response = self.client.patch( f"{REQUEST_BASE_URL}/{product.requestid}", data=json.dumps({"lender": "*****@*****.**"}), content_type="application/json", ) data = json.loads(response.data.decode()) self.assertIn("*****@*****.**", data["request"]["lender"])