test(database): adapte les tests pour fonctionner en postgresql et sqlite3
Note: sqlite et postgres n'inteprete pas order by de la meme maniere: - sqlite: ' ' < 'A' et case sensitive - postgresql ' ' > 'z' et case insensitve on peut faire en sorte que l'order by soit case insensitve dans les 2 cas cependant le cas de l'espace (et sans doute des caracteres accentues) donnent toujours un ordre different: ``` from django.db.models.function import Lower ... class Etiquette(models.Model): class Meta: ordering = [Lower('designation')] ``` mais attention au bug: https://code.djangoproject.com/ticket/30557 corrigé en django 3.0 mais sans doute pas en 2.2 Le bug empeche d'hériter d'un modele contenant un ordering avec une fonction. ajout d'une cible qtest en plus de test: qtest réutilise la base de donnée (utile lorsqu'on test en postgresql) test recrée la base de donnée quoiqu'il arrive (necessaire en cas de migrations)pull/102/head
Parent
cd20cd6bfe
révision
78aa00d237
5
Makefile
5
Makefile
|
@ -60,7 +60,7 @@ endif
|
|||
.PHONY: help shell
|
||||
.PHONY: init create-venv update install-deps migrate static static-local
|
||||
.PHONY: check check-config serve lint
|
||||
.PHONY: test twip check-selenium stest stwip stwip-gui full-test
|
||||
.PHONY: test qtest twip check-selenium stest stwip stwip-gui full-test
|
||||
.PHONY: clean clean-pyc clean-build clear-venv
|
||||
.PHONY: black pre-commit isort
|
||||
.PHONY: sql-reset psql-reset
|
||||
|
@ -143,6 +143,9 @@ full-test: ### lance tous les tests (classique + selenium)
|
|||
$(PYTHON) -m pytest --cov=gaby gaby
|
||||
|
||||
test: ### lance les tests de l'application via pytest
|
||||
$(PYTHON) -m pytest -m 'not slow' --create-db --cov=gaby --cov-report=html --cov-report=term-missing gaby
|
||||
|
||||
qtest: ### lance les tests de l'application via pytest (quick)
|
||||
$(PYTHON) -m pytest -m 'not slow' --cov=gaby --cov-report=html --cov-report=term-missing gaby
|
||||
|
||||
twip: ### lance les tests marques 'wip' de l'application via pytest
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
ID;Statut bio;Forme juridique;agriculteur;collecteur;transformateur;com. gros;com. detail;autre;Désignation ou personne;Personne set;date de naissance;N. Siret;statut;adresse;ville;code postal;num. INSEE;commune;arrondissement;territoire;agence eau;enjeu eau;téléphone fixe;téléphone mobile;fax;courriel;URL du site web;date de saisie de l'enregistrement;date de dernière modification des informations;dernière modification par;origine du contact;Année du premier contact;Mois du premier contact;commentaire;étiquettes;étiquettes;étiquettes;étiquettes;étiquettes;étiquettes;étiquettes;étiquettes;étiquettes;étiquettes;étiquettes;étiquettes;étiquettes;étiquettes;étiquettes;étiquettes;publication sur l'annuaire du site;Activité principale;Activité principale bio;Activité(s) annexe(s);Assolement total;Assolement total bio;SAU à enjeu eau;SAU en biologique à enjeu eau;Première adhésion;date de dernière adhésion;date de première conversion
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A suivre;A voir;AMAP;BN papier;BN électronique;Bleue du Nord;Collectivité;Com';OC;OPA;PA;PRESSE;Projet 2015;Projet 2016;RHD;Terres en fête;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Amap;Asuivre;Avoir;BleueDuNord;BnElectronique;BnPapier;Collectivité;Com';OC;OPA;PA;PRESSE;Projet 2015;Projet 2016;RHD;Terres en fête;;;;;;;;;;;
|
||||
"3";"conventionnel";"EARL";"FAUX";"FAUX";"FAUX";"FAUX";"FAUX";"";"Domgrange";"Amasis Epiphane";"29/06/1986";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"29/06/2016";"29/06/2016";"admin";"";"";"";"";;;;;;;;;;;;;;;;;"personne";"[C] Caprin";"";"[C] Fourrage, [C] autre(accueil gite)";"22.0000";"0.0000";"23.00";"0.00";"";"";""
|
||||
"6";"bio";"Coopérative";"FAUX";"FAUX";"FAUX";"FAUX";"FAUX";"";"Laibrave";"Teti Kasaros, Orilien vrec";"29/06/1991";"";"";"";"ABANCOURT";"59265";"59001";"ABANCOURT (59265)";"Cambrai";"Artois-Cambrésis";"";"VRAI";"";"";"";"";"";"29/06/2016";"29/06/2016";"admin";"";"";"";"";;;;;;;;;;;;;;;;;"tous";"[B] Bovin lait";"[B] Bovin lait";"[B] Bovin viande, [B] Fourrage";"8.0000";"8.0000";"";"";"";"";"01/04/2015"
|
||||
"4";"conventionnel";"GAEC";"FAUX";"FAUX";"FAUX";"FAUX";"FAUX";"";"Marfer";"Geraint Burdigala, Anya Icosium";"19/03/1968";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"29/06/2016";"29/06/2016";"admin";"";"";"";"";;;;;;;;;;;;;;;;;"adherents";"[C] Légume plein champ";"";"";"60.0000";"10.0000";"";"";"Adhésion[2013] du 04/01/2014 de 20.00 EUR de Marfer";"06/01/2014";""
|
||||
|
|
|
|
@ -353,7 +353,7 @@
|
|||
"model": "references.etiquette",
|
||||
"fields": {
|
||||
"description": "",
|
||||
"designation": "AMAP"
|
||||
"designation": "Amap"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -361,7 +361,7 @@
|
|||
"model": "references.etiquette",
|
||||
"fields": {
|
||||
"description": "Dossier de conversion \u00e0 suivre",
|
||||
"designation": "A suivre"
|
||||
"designation": "Asuivre"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -369,7 +369,7 @@
|
|||
"model": "references.etiquette",
|
||||
"fields": {
|
||||
"description": "Dossier de conversion \u00e0 contacter",
|
||||
"designation": "A voir"
|
||||
"designation": "Avoir"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -377,7 +377,7 @@
|
|||
"model": "references.etiquette",
|
||||
"fields": {
|
||||
"description": "Eleveur de vache mixte (lait/viande) de race Bleue du Nord",
|
||||
"designation": "Bleue du Nord"
|
||||
"designation": "BleueDuNord"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -385,7 +385,7 @@
|
|||
"model": "references.etiquette",
|
||||
"fields": {
|
||||
"description": "Abonn\u00e9 \u00e0 la liste de diffusion Bionouvelles",
|
||||
"designation": "BN \u00e9lectronique"
|
||||
"designation": "BnElectronique"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -393,7 +393,7 @@
|
|||
"model": "references.etiquette",
|
||||
"fields": {
|
||||
"description": "Abonn\u00e9 \u00e0 la lettre Bionouvelles envoy\u00e9e par courrier",
|
||||
"designation": "BN papier"
|
||||
"designation": "BnPapier"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
With these settings, tests run faster.
|
||||
"""
|
||||
from .base import * # noqa
|
||||
from .base import DATABASES, env
|
||||
from .base import env
|
||||
|
||||
# GENERAL
|
||||
# ------------------------------------------------------------------------------
|
||||
|
@ -27,7 +27,8 @@ CACHES = {
|
|||
|
||||
# DATABASE
|
||||
# ------------------------------------------------------------------------------
|
||||
DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'}
|
||||
# uncomment to force test in sqlite/mem otherwise obey to DJANGO_DATABASE_URL
|
||||
# DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'}
|
||||
|
||||
# PASSWORDS
|
||||
# ------------------------------------------------------------------------------
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
[pytest]
|
||||
DJANGO_SETTINGS_MODULE = gaby.settings.test
|
||||
python_files = tests.py test_*.py *_tests.py
|
||||
addopts = --reuse-db
|
||||
filterwarnings =
|
||||
ignore::django.utils.deprecation.RemovedInDjango30Warning
|
||||
markers =
|
||||
|
|
Chargement…
Référencer dans un nouveau ticket