Skip to content
Snippets Groups Projects
Commit f9ee506f authored by Anatole ROMON's avatar Anatole ROMON
Browse files

Finir de mettre en place les tests unitaires

Sigma contient maintenant tout le code nécéssaire pour éxecuter une suite de tests unitaires.
Il ne reste maintenant qu'a rentrer manuellement un certaine nombre de requêtes à tester.
parent 0a779bb1
No related branches found
No related tags found
No related merge requests found
...@@ -120,6 +120,14 @@ Il s'agit du même `/graphql` que l'_endpoint_ de l'API, mais le serveur est con ...@@ -120,6 +120,14 @@ Il s'agit du même `/graphql` que l'_endpoint_ de l'API, mais le serveur est con
L'app Voyager permet de visualiser le « graphe » sous-jacent à la structure de l'API. Cet _endpoint_ devrait être protégé **en prod**. L'app Voyager permet de visualiser le « graphe » sous-jacent à la structure de l'API. Cet _endpoint_ devrait être protégé **en prod**.
## Tests
Sigma possède une suite de tests unitaires, déstinés à tester les resolvers graphql.
Pour executer les tests, il suffit d'utiliser la commande `npm test`.
Les tests effectués sont dans test/testData.js, sous la forme d'une liste. Chaque élément contient une requête graphql, et les données qu'elle doit renvoyer. Quand les seed sont modifiées, il faudra modifier les resultats attendus également. Les tests peuvent être créés ou mis à jour en entrant la requête dans graphiql, et en copiant le resultat.
**En production**, **En production**,
## Scripts ## Scripts
......
This diff is collapsed.
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
"start": "nodemon --watch build build/bundle.js", "start": "nodemon --watch build build/bundle.js",
"doc": "jsdoc -c configfile_doc.json", "doc": "jsdoc -c configfile_doc.json",
"lint": "eslint src/", "lint": "eslint src/",
"test": "mocha" "test": "mocha --exit"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
...@@ -57,6 +57,7 @@ ...@@ -57,6 +57,7 @@
"@types/node": "^10.10.3", "@types/node": "^10.10.3",
"@types/passport": "^0.4.6", "@types/passport": "^0.4.6",
"babel-eslint": "^8.2.6", "babel-eslint": "^8.2.6",
"chai": "^4.2.0",
"eslint": "^4.19.1", "eslint": "^4.19.1",
"eslint-config-standard": "^11.0.0", "eslint-config-standard": "^11.0.0",
"eslint-loader": "^2.1.1", "eslint-loader": "^2.1.1",
...@@ -64,16 +65,15 @@ ...@@ -64,16 +65,15 @@
"eslint-plugin-node": "^6.0.1", "eslint-plugin-node": "^6.0.1",
"eslint-plugin-promise": "^3.8.0", "eslint-plugin-promise": "^3.8.0",
"eslint-plugin-standard": "^3.1.0", "eslint-plugin-standard": "^3.1.0",
"graphql-request": "^1.8.2",
"jsdoc": "^3.5.5", "jsdoc": "^3.5.5",
"mocha": "^5.2.0",
"nodemon": "^1.18.4", "nodemon": "^1.18.4",
"ts-loader": "^4.5.0", "ts-loader": "^4.5.0",
"typescript": "^3.0.3", "typescript": "^3.0.3",
"webpack": "^4.19.1", "webpack": "^4.19.1",
"webpack-cli": "^2.1.5", "webpack-cli": "^2.1.5",
"webpack-graphql-loader": "^1.0.0", "webpack-graphql-loader": "^1.0.0",
"webpack-node-externals": "^1.7.2", "webpack-node-externals": "^1.7.2"
"mocha": "^5.2.0",
"chai": "^4.2.0",
"graphql-request" : "^1.8.2"
} }
} }
require('dotenv').config()
const { credentialsConfig } = require('../src/ldap/config'); const { credentialsConfig } = require('../src/ldap/config');
process.env.PORT = process.env.TEST_PORT || 3001;
// The port is changed so that the test suite can be ran without interfering with a running server
require('../build/bundle'); require('../build/bundle');
const chai = require('chai'); const chai = require('chai');
...@@ -9,7 +13,7 @@ const expect = chai.expect; ...@@ -9,7 +13,7 @@ const expect = chai.expect;
const { GraphQLClient } = require('graphql-request') const { GraphQLClient } = require('graphql-request')
const apiEndpoint = `http://localhost:${process.env.PORT || 3000}/graphql`; const apiEndpoint = `http://localhost:${process.env.PORT || 3001}/graphql`;
const auth = { const auth = {
username : credentialsConfig.dn.split("=")[1].split(",")[0], username : credentialsConfig.dn.split("=")[1].split(",")[0],
...@@ -19,7 +23,7 @@ const auth = { ...@@ -19,7 +23,7 @@ const auth = {
const testList = require('./testData').testList; const testList = require('./testData').testList;
describe('test server API', function () { describe('test server API', function () {
let client; let client;
it('Should authentify and initialize the client', async function (){ it('Should authentify and initialize the client', async function (){
......
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