it('html5 mode should get same result', done => { let router = new SMERouter('route-view', 'html5') let count = 0 let indexHandler = sinon.spy() const temp = { name: 'hwen' } router.route('/index', (req, res, next) => { count++ indexHandler() let body = req.body body.should.be.deep.equal(temp) if (count === 1) { router.go('/other') } if (count === 2) { indexHandler.should.have.callCount(2) router.stop() done() } }) router.route('/other', () => { router.back() // same as window.history.go(-1) }) router.go('/index', { name: 'hwen' }) })
it('request=> /test/oook?info=hallo, query.info should be hallo', done => { let router = new SMERouter('route-view', 'html5') router.route(routePath, (req) => { req.query.info.should.be.equal('hallo') router.stop() done() }) router.go('/test/oook?info=hallo') })
it('params.sme should be whattt', done => { let router = new SMERouter('route-view', 'html5') router.route(routePath, (req) => { req.params.sme.should.be.equal('whattt') router.stop() done() }) router.go('/test/whattt') })
it('should be not match any routes', done => { let cc = sinon.spy() let router = new SMERouter('route-view', 'html5') router.route(routePath, cc) router.go('/test-other') setTimeout(() => { cc.should.have.callCount(0) router.stop() done() }, 500) })
it('should match route', done => { let router = new SMERouter('route-view', 'html5') router.route(routePath, (req, res, next) => { res.render(template) let content = '' content = document.getElementById('route-view').innerHTML content.should.equal(template) router.stop() done() }) router.go('/test/something') })
it('request=> /test/whattt, body should be body', done => { const body = { mes: 'hi', name: 'hwen' } const temp = { mes: 'hi', name: 'hwen' } let router = new SMERouter('route-view', 'html5') router.route(routePath, (req) => { req.body.should.be.deep.equal(temp) router.stop() done() }) router.go('/test/whattt', body) })