2 passed in 0.82s, 32% coverage
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
import pytest
|
||||
|
||||
# @pytest.fixture
|
||||
# def api_request(rf):
|
||||
# request = rf.get('/url')
|
||||
# # Modify the request object as needed (e.g., set user, add data)
|
||||
# return request
|
||||
|
||||
# @pytest.fixture
|
||||
# def create_test_model(db):
|
||||
# def make_model(**kwargs):
|
||||
# return MyModel.objects.create(**kwargs)
|
||||
# return make_model
|
||||
|
||||
@pytest.fixture
|
||||
def authenticated_user(client, django_user_model):
|
||||
user = django_user_model.objects.create_user(username='test', password='123')
|
||||
client.login(username='test', password='123')
|
||||
return user
|
||||
51
tests/settings.py
Normal file
51
tests/settings.py
Normal file
@@ -0,0 +1,51 @@
|
||||
import os
|
||||
|
||||
|
||||
SECRET_KEY = 'fake-key-for-testing'
|
||||
INSTALLED_APPS = [
|
||||
'django.contrib.auth',
|
||||
'django.contrib.contenttypes',
|
||||
'django.contrib.sessions',
|
||||
'mfa'
|
||||
]
|
||||
ROOT_URLCONF="mfa.urls"
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'NAME': ':memory:',
|
||||
}
|
||||
}
|
||||
|
||||
MIDDLEWARE = [
|
||||
'django.middleware.security.SecurityMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
]
|
||||
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
TEMPLATES = [
|
||||
{
|
||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||
'DIRS': [
|
||||
os.path.join(BASE_DIR ,'mfa','templates' ),
|
||||
os.path.join(BASE_DIR ,'tests','templates' )
|
||||
],
|
||||
'APP_DIRS': True,
|
||||
'OPTIONS': {
|
||||
'context_processors': [
|
||||
'django.template.context_processors.debug',
|
||||
'django.template.context_processors.request',
|
||||
'django.contrib.auth.context_processors.auth',
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
],
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
MFA_UNALLOWED_METHODS = []
|
||||
11
tests/templates/base.html
Normal file
11
tests/templates/base.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
{% block head %}
|
||||
{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,2 +1,25 @@
|
||||
import pytest
|
||||
from django.urls import reverse
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_index_unauthenticated(client):
|
||||
url = reverse("mfa_home")
|
||||
response = client.get(url)
|
||||
assert response is not None
|
||||
assert response.status_code == 302
|
||||
assert response.url=="/accounts/login/?next=/"
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_index_authenticated(client, authenticated_user):
|
||||
url = reverse("mfa_home")
|
||||
response = client.get(url)
|
||||
assert response is not None
|
||||
assert response.status_code == 200
|
||||
assert isinstance(response.templates, list)
|
||||
assert len(response.templates) == 4
|
||||
for template in response.templates:
|
||||
assert template.name in ["modal.html", "base.html", "mfa_base.html", "MFA.html"]
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user