Improved www.ttss.krakow.pl
Jacek Kowalski
2017-03-18 15df3c0b618c6343acdb02f220659606428e8835
Execute functional tests using casperjs
2 files added
62 ■■■■■ changed files
.travis.yml 17 ●●●●● patch | view | raw | blame | history
tests.js 45 ●●●●● patch | view | raw | blame | history
.travis.yml
New file
@@ -0,0 +1,17 @@
language: php
php:
  - 5.4
  - 5.5
  - 5.6
  - 7.0
  - nightly
sudo: required
before_script:
  - 'php -S 127.0.0.1:8080 &'
  - 'nvm install stable'
  - 'npm install casperjs'
script:
  - 'node_modules/casperjs/bin/casperjs tests.js'
tests.js
New file
@@ -0,0 +1,45 @@
casper.test.begin('Stop name autocompletion', 4, function(test) {
    casper.start('http://127.0.0.1:8080/', function() {
        test.assertTitleMatches(/^TTSS\s/, 'Page title: TTSS...');
    });
    var autocomplete_pairs = [
        ['bag', 'Teatr Bagatela'],
        ['d g', 'Dworzec Główny'],
        ['świę', 'Plac Wszystkich Świętych'],
    ];
    autocomplete_pairs.forEach(function(value) {
        casper.then(function() {
            this.sendKeys('#stop-name', value[0], {reset: true});
        }).wait(200, function() {
            test.assertSelectorHasText(
                '#stop-name-autocomplete > option',
                value[1],
                'Autocomplete: ' + value[1]
            );
        });
    });
    casper.run(function() {
        test.done();
    });
});
casper.test.begin('Translation engine', 2, function(test) {
    casper.start('http://127.0.0.1:8080/#!pl', function() {
        test.assertTitleMatches(/odjazdy/i, 'Page title: ...odjazdy...');
    });
    casper.wait(200, function() {
        test.assertSelectorHasText(
            '[data-translate=header_lines]',
            'Linie',
            'Translation: Lines -> Linie'
        );
    });
    casper.run(function() {
        test.done();
    });
});