Skip to content
Snippets Groups Projects
Commit 634ef783 authored by radek's avatar radek
Browse files

fixed item json serialization + testes

parent 06d0d121
No related branches found
No related tags found
No related merge requests found
Pipeline #14165 passed
import os
import sys
import pymongo
import json
from dotenv import load_dotenv
from flask import request, jsonify
......@@ -18,13 +19,14 @@ class AdminAPI (Resource):
def get(self):
#TODO: connection with db
user = users.User()
user.get_one()
return jsonify({"message" : "trust me I work!"})
query_result = user.get_one()
temp = json.dumps(query_result, default=str)
return jsonify({"message" : temp})
def post(self):
#TODO: connection with db
data = request.get_json()
user = users.User(**data)
user.add()
addad_user = jsonify(user.serialize())
return jsonify({'status' : addad_user}), 201 #FIXME: smae problem as in item_api
\ No newline at end of file
addad_user = json.dumps(user.serialize(), default=str)
return jsonify({'status' : addad_user}), 201
\ No newline at end of file
import os
import sys
import pymongo
import json
from dotenv import load_dotenv
from flask import request, jsonify
......@@ -21,12 +22,16 @@ class AuctionItem (Resource):
def get(self):
item = items.Item()
query_result = item.get_one()
return jsonify({"message" : query_result})
temp = json.dumps(query_result, default=str)
print(type(temp))
return {"message" : temp}
def post(self):
data = request.get_json()
item = items.Item(**data)
item.add()
added_item = jsonify(item.serialize())
return jsonify({'data' : added_item}), 201 #FIXME: I had also tried to replace added_tiem wih data does not work, other than that connecion works
\ No newline at end of file
#json.dump
#added_item = jsonify(item.serialize())
added_item = json.dumps(item.serialize(), default=str)
return {'data' : added_item}, 201
\ No newline at end of file
......@@ -36,6 +36,7 @@ class User:
def get_one(self):
first_user = users.find_one()
print(first_user)
return first_user
def serialize(self):
#information hiding
......
import pytest
from tjts5901 import create_app
@pytest.fixture
def app() -> Flask:
app = create_app()
return app
@pytest.fixture
def client(app) -> Any:
return app.test_client()
\ No newline at end of file
import pytest
import json
from flask import Flask
from flask_restful import Api
from tjts5901.backend.models.users import User
from tjts5901.backend.api.admin_api import AdminAPI
@pytest.fixture
def client():
app = Flask(__name__)
api = Api(app)
api.add_resource(AdminAPI, '/api/admin')
client = app.test_client()
return client
def test_admin_api_get(client):
response = client.get('/api/admin')
assert response.status_code == 200
assert json.loads(response.get_data(as_text=True)) == {'message': 'trust me I work!'}
def test_admin_api_post(client):
data = {
"username": "test_user",
"email": "test_user@example.com",
"password": "password"
}
response = client.post('/api/admin', data=json.dumps(data), content_type='application/json')
assert response.status_code == 201
response_data = json.loads(response.get_data(as_text=True))
assert response_data['status'] == {
'_id': None,
'username': 'test_user',
'email': 'test_user@example.com',
'password': 'password'
}
from tjts5901 import create_app
def test_config() -> None:
assert not create_app().testing
assert create_app({"TESTING" : True}).testing
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment