add one example that how use client validate

This commit is contained in:
Cayo Puigdefabregas 2022-03-15 19:57:54 +01:00
parent 071e145264
commit 39dc4d8635
1 changed files with 34 additions and 9 deletions

View File

@ -1,28 +1,53 @@
# import pytest import pytest
from flask.testing import FlaskClient from flask.testing import FlaskClient
from flask_wtf.csrf import generate_csrf
from ereuse_devicehub.client import UserClient from ereuse_devicehub.client import UserClient
from ereuse_devicehub.devicehub import Devicehub from ereuse_devicehub.devicehub import Devicehub
from tests import conftest
# from tests import conftest
# @pytest.mark.mvp @pytest.mark.mvp
# @pytest.mark.usefixtures() # @pytest.mark.usefixtures()
# def test_create_application(client: FlaskClient, mocker): @pytest.mark.usefixtures(conftest.app_context.__name__)
# @pytest.mark.usefixtures(conftest.app_context.__name__)
def test_login(user: UserClient, app: Devicehub): def test_login(user: UserClient, app: Devicehub):
"""Checks a simple login""" """Checks a simple login"""
client = FlaskClient(app, use_cookies=True, response_wrapper=app.response_class) client = FlaskClient(app, use_cookies=True)
body, status, headers = client.get('/login/') body, status, headers = client.get('/login/')
body = next(body).decode("utf-8") body = next(body).decode("utf-8")
assert status == '200 OK' assert status == '200 OK'
assert "Login to Your Account" in body assert "Login to Your Account" in body
data = {'email': user.email, 'password': 'foo', "remember": False} data = {
body, status, headers = client.post('/login/', data=data) 'email': user.email,
'password': 'foo',
'remember': False,
'csrf_token': generate_csrf(),
}
body, status, headers = client.post('/login/', data=data, follow_redirects=True)
body = next(body).decode("utf-8") body = next(body).decode("utf-8")
assert status == '200 OK' assert status == '200 OK'
assert "Login to Your Account" not in body assert "Login to Your Account" not in body
@pytest.mark.mvp
@pytest.mark.usefixtures(conftest.app_context.__name__)
def test_inventory(user: UserClient, app: Devicehub):
client = FlaskClient(app, use_cookies=True)
client.get('/login/')
data = {
'email': user.email,
'password': 'foo',
'remember': False,
'csrf_token': generate_csrf(),
}
body, status, headers = client.post('/login/', data=data, follow_redirects=True)
body, status, headers = client.get('/inventory/device/', headers=headers)
body = next(body).decode("utf-8")
assert status == '200 OK'
# import pdb; pdb.set_trace()
assert "Unassgined" in body