diff --git a/README.md b/README.md index 7094da8..3780959 100644 --- a/README.md +++ b/README.md @@ -257,7 +257,7 @@ Das Ergebnis sieht dann ungefähr so aus: ![Neue Seite](docs/example_for_new_page.png) -# Werbung schalten +## Werbung schalten Um Werbug hinzuzufügen, reicht es eine Datei (z.B. `hans.html`) im rooms-Hauptverzeichnis abzulegen. @@ -281,7 +281,7 @@ Wenn die Datei folgenden Tag enthält: wird das Schalten zur nächsten Screen um 260 Sekunden verzögert. -# Benutzung als Split-Panel +## Benutzung als Split-Panel Zusätzlich zur index.html gibt es auch eine split.html. Diese ist für ein Video-Panel der Größe 768px x 240px gedacht. Die 768px teilen sich hierbei nochmal in 576px und 192px auf. Sowohl der 576px breite Teil als auch der 192px breite @@ -303,5 +303,47 @@ Der Aufruf funktioniert analog zu index.html, jedoch mit `page=2`, da blättern /split.html?campus=3&house=6&page=2 +## Api-Tests + +Unter `test/api-tests.js` befinden sich Tests, welche mit dem Mocha-Framework entwickelt wurden. + +Durch den Aufruf von + +``` console +$ mocha +``` + +werden die Tests ausgeführt. + +Das Ergebnis ist dann z.B.: + +``` console +$ mocha + + + collections/bookedRooms + ✓ should contain all booked rooms (270ms) + + collections/freeRooms + ✓ should contain all free rooms (161ms) + + collections/transports + ✓ should contain all transport connections (549ms) + + collections/events + ✓ should contain all events (4242ms) + + collections/news + ✓ should contain all news (1854ms) + + + 5 passing (7s) +``` + +Es gibt zusätzlich eine `.travis.yml`, welche dafür sorgt, dass die Mocha-Tests nach jedem commit auf [travis-ci](https://travis-ci.org/University-of-Potsdam-MM/rooms) +ausgeführt werden. Der Build-Status kann auch ganz am Anfang der README.md eingesehen werden. + +Aktuell fokussieren sich die API-Tests ausschließlich auf den Test und eine Plausibilitätsprüfung der angebundenen +APIs. #Nächste Schritte, Credits, Feedback, Lizenz diff --git a/test/api-tests.js b/test/api-tests.js index 6bc1f16..ab0bd0a 100644 --- a/test/api-tests.js +++ b/test/api-tests.js @@ -1,6 +1,10 @@ 'use strict'; -var requirejs = require("requirejs"); var assert = require("chai").assert; + +/* + * Der nächste Abschnitt ist dafür da, dass die nodejs-Umgebung so wirkt, wie wie einen Browser: + */ +var requirejs = require("requirejs"); var domino = require('domino'); global.DOMParser = require('xmldom').DOMParser; global.jQuery = require('jquery')(domino.createWindow()); @@ -29,6 +33,11 @@ requirejs.config({ } }); +/* + * Initialisieren von moment.js und den pre-require'ten modules, welche gleich getestet werden. + * + * Außerdem werden ein paar der Konfigvariablen spezifisch für den Test gesetzt. + */ before(function(done) { requirejs( [ @@ -38,6 +47,9 @@ before(function(done) { function(config, moment) { config.set('house', 6); + /* + * wir testen immer am nächsten Montag um 10:00 Uhr + */ var nextMondayAtTen = moment(); nextMondayAtTen.day(1); nextMondayAtTen.hour(10); @@ -45,8 +57,16 @@ before(function(done) { nextMondayAtTen.second(0); config.set('now', new Date(nextMondayAtTen.format())); + + /* + * wir testen immer mit den echten RSS-Feed URLs, weil wir kein CROSS-Origin-Problem auf der CLI haben + */ config.set('events_rss_feed_url', 'https://www.uni-potsdam.de/veranstaltungen/rss-feed-abonnieren/eventfeed/feed/xml.html?tx_upevents_upeventfeed%5Blimit%5D=30&tx_upevents_upeventfeed%5Bcat%5D=&tx_upevents_upeventfeed%5BcatLink%5D=or'); config.set('news_rss_feed_url', 'http://www.uni-potsdam.de/nachrichten/rss-feed-abonnieren.html?type=100&tx_ttnews%5Bcat%5D=19'); + + /* + * wir benötigen die folgenden Module für die Tests + */ requirejs( [ 'collections/freeRooms', @@ -57,6 +77,9 @@ before(function(done) { 'jquery' ], function () { + /* + * alle module sind geladen -> die Tests können starten! + */ done(); } );