smartrouter/test/test.browser.ts

47 lines
1.6 KiB
TypeScript
Raw Normal View History

2020-07-15 18:51:17 +00:00
import { expect, tap } from '@pushrocks/tapbundle';
import * as smartrouter from '../ts/index';
let testrouter: smartrouter.SmartRouter;
tap.test('first test', async () => {
testrouter = new smartrouter.SmartRouter({});
expect(testrouter).to.be.instanceOf(smartrouter.SmartRouter);
});
2021-09-08 19:46:21 +00:00
tap.test('should handle a route change', async (toolsArg) => {
const done = toolsArg.defer();
2020-07-15 18:51:17 +00:00
testrouter.on('/myawesomeroute/:any', async (routeInfoArg) => {
expect(routeInfoArg.params.any).to.equal('hello');
done.resolve();
});
testrouter.pushUrl('/myawesomeroute/hello');
await done.promise;
});
2021-09-08 19:46:21 +00:00
tap.test('should handle a route change', async (toolsArg) => {
const done = toolsArg.defer();
2020-07-15 18:51:17 +00:00
testrouter.on('/myawesomeroute2/:wow', async (routeInfoArg) => {
expect(routeInfoArg.params.wow).to.equal('hello2');
done.resolve();
});
testrouter.pushUrl('/myawesomeroute2/hello2');
await done.promise;
expect(window.location.href).to.equal('http://localhost:3007/myawesomeroute2/hello2');
});
2021-09-08 19:46:21 +00:00
tap.test('should find a query param', async (toolsArg) => {
const done = toolsArg.defer();
testrouter.on('/myawesomeroute2/:wow', async (routeInfoArg) => {
expect(routeInfoArg.params.wow).to.equal('hello2');
expect(routeInfoArg.queryParams.aparam).to.equal('Yes');
console.log('Here is what queryParams looks like');
2021-09-08 19:49:40 +00:00
console.log(JSON.stringify(routeInfoArg.queryParams));
2021-09-08 19:46:21 +00:00
done.resolve();
});
testrouter.pushUrl('/myawesomeroute2/hello2?aparam=Yes');
await done.promise;
expect(window.location.href).to.equal('http://localhost:3007/myawesomeroute2/hello2?aparam=Yes');
2021-09-08 19:49:40 +00:00
});
2021-09-08 19:46:21 +00:00
2020-07-15 18:51:17 +00:00
tap.start();