Connect OSM account
This commit is contained in:
47
tests/unit/routes/oauth/osm-callback-test.js
Normal file
47
tests/unit/routes/oauth/osm-callback-test.js
Normal file
@@ -0,0 +1,47 @@
|
||||
import { module, test } from 'qunit';
|
||||
import { setupTest } from 'marco/tests/helpers';
|
||||
import Service from '@ember/service';
|
||||
|
||||
class MockOsmAuthService extends Service {
|
||||
handleCallbackCalled = false;
|
||||
|
||||
async handleCallback() {
|
||||
this.handleCallbackCalled = true;
|
||||
return Promise.resolve();
|
||||
}
|
||||
}
|
||||
|
||||
class MockRouterService extends Service {
|
||||
transitionToArgs = [];
|
||||
|
||||
transitionTo(...args) {
|
||||
this.transitionToArgs.push(args);
|
||||
}
|
||||
}
|
||||
|
||||
module('Unit | Route | oauth/osm-callback', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
this.owner.register('service:osmAuth', MockOsmAuthService);
|
||||
this.owner.register('service:router', MockRouterService);
|
||||
});
|
||||
|
||||
test('it handles the callback and transitions to index', async function (assert) {
|
||||
let route = this.owner.lookup('route:oauth/osm-callback');
|
||||
let osmAuth = this.owner.lookup('service:osmAuth');
|
||||
let router = this.owner.lookup('service:router');
|
||||
|
||||
await route.model();
|
||||
|
||||
assert.true(
|
||||
osmAuth.handleCallbackCalled,
|
||||
'handleCallback was called on the osmAuth service'
|
||||
);
|
||||
assert.deepEqual(
|
||||
router.transitionToArgs,
|
||||
[['index']],
|
||||
'router transitioned back to index route'
|
||||
);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user