Skip to content

Commit

Permalink
Doku und ein paar Quelltext-Kommentare für die API-Tests eingefügt #46
Browse files Browse the repository at this point in the history
  • Loading branch information
DracoBlue committed Jan 18, 2016
1 parent 5bcbba4 commit 4e6b933
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 3 deletions.
46 changes: 44 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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
Expand All @@ -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
25 changes: 24 additions & 1 deletion test/api-tests.js
Original file line number Diff line number Diff line change
@@ -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());
Expand Down Expand Up @@ -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(
[
Expand All @@ -38,15 +47,26 @@ 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);
nextMondayAtTen.minute(0);
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',
Expand All @@ -57,6 +77,9 @@ before(function(done) {
'jquery'
],
function () {
/*
* alle module sind geladen -> die Tests können starten!
*/
done();
}
);
Expand Down

0 comments on commit 4e6b933

Please sign in to comment.