Skip to content

Commit

Permalink
acceptance tests
Browse files Browse the repository at this point in the history
  • Loading branch information
pavloo committed Jul 20, 2016
1 parent c04c304 commit e76da66
Show file tree
Hide file tree
Showing 8 changed files with 84 additions and 31 deletions.
3 changes: 2 additions & 1 deletion bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"ember-cli-test-loader": "0.2.2",
"ember-qunit-notifications": "0.1.0",
"leaflet": "~0.7.7",
"Leaflet.TileLayer.PouchDBCached": "~0.1.0"
"Leaflet.TileLayer.PouchDBCached": "~0.1.0",
"pretender": "^0.12.0"
}
}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
"ember-cli-htmlbars-inline-precompile": "^0.3.1",
"ember-cli-inject-live-reload": "^1.4.0",
"ember-cli-jshint": "^1.0.0",
"ember-cli-pretender": "0.6.0",
"ember-cli-qunit": "^1.4.0",
"ember-cli-release": "0.2.8",
"ember-cli-sri": "^2.1.0",
Expand Down
3 changes: 2 additions & 1 deletion tests/.jshintrc
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
"andThen",
"currentURL",
"currentPath",
"currentRouteName"
"currentRouteName",
"PouchDB"
],
"node": false,
"browser": false,
Expand Down
58 changes: 58 additions & 0 deletions tests/acceptance/tile-layer-test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import { module, test } from 'qunit';
import Pretender from 'pretender';
import Ember from 'ember';
import startApp from '../helpers/start-app';

var App;
var dbTotalDocs = 0;
// DB_NAME is taken from Leaflet.TileLayer.PouchDBCached
const DB_NAME = 'offline-tiles';
module('Acceptance: tile-layer', {
beforeEach: (assert) => {
App = startApp();
const done = assert.async();
const db = new PouchDB(DB_NAME);
db.destroy().then(() => {
const server = new Pretender(function(){});

server.unhandledRequest = function(verb, path/*, request */) {
if (!path.match(/^blob:/)) {
throw new Error(`Unhandled request: ${path}`);
}
};
done();
});
},

afterEach: function() {
Ember.run(App, 'destroy');
dbTotalDocs = 0;
}
});

function checkDbTotalDocs(attempts) {
if (attempts === 0 || dbTotalDocs !== 0) {
return;
}
setTimeout(() => {
const db = new PouchDB(DB_NAME);
db.allDocs().then((docs) => {
let totalRows = docs.total_rows;
dbTotalDocs = totalRows;
});
checkDbTotalDocs(--attempts);
}, 200);
}

test('renders map and caches tiles to PouchDB', function(assert) {
assert.expect(1);

visit('/');
checkDbTotalDocs(5);
Ember.Test.registerWaiter(function() {
return dbTotalDocs !== 0;
});
andThen(() => {
assert.ok(dbTotalDocs > 0, 'populates pouch db with tiles');
});
});
13 changes: 13 additions & 0 deletions tests/dummy/app/controllers/application.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import Ember from 'ember';

export default Ember.Controller.extend({
tileOptions: {
type: 'map',
subdomains: '1234',
ext: 'png',
attribution: 'Map data © <a href="http://osm.org/copyright" target="_blank">OpenStreetMap</a> contributors',
useCache: true
},

tileUrl: 'http://cors.io/?u=https://tiles{s}-6466e93b22e58468d2cb026d1c3fbbae.skobblermaps.com/TileService/tiles/2.0/110015311100/2/{z}/{x}/{y}.png'
});
4 changes: 4 additions & 0 deletions tests/dummy/app/styles/app.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.leaflet-container {
height: 400px;
width: 400px;
}
4 changes: 4 additions & 0 deletions tests/dummy/app/templates/application.hbs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<h2 id="title">Welcome to Ember</h2>

{{#leaflet-map lat=51.512983 lng=-0.138289 zoom=12}}
{{tile-layer url=tileUrl options=tileOptions}}
{{/leaflet-map}}

{{outlet}}
29 changes: 0 additions & 29 deletions tests/integration/components/tile-layer-test.js

This file was deleted.

0 comments on commit e76da66

Please sign in to comment.