@kano/web-components
Version:
Shared web-components for the Kano ecosystem.
69 lines (59 loc) • 1.89 kB
HTML
<html>
<head>
<meta charset="UTF-8">
<title>kano-session test</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<script src="../../../../@webcomponents/webcomponentsjs/webcomponents-bundle.js"></script>
<script src="../../../../wct-browser-legacy/browser.js"></script>
<script type="module" src="../kano-session.js"></script>
</head>
<body>
<test-fixture id="default">
<template>
<kano-session></kano-session>
</template>
</test-fixture>
<script type="module">
import '../kano-session.js';
suite('<kano-session> not authenticated', function() {
var session,
sessionFixture,
requestMade;
setup(function() {
requestMade = false;
sessionFixture = emptySession();
window.fetch = function (url, opts) {
requestMade = true;
};
session = fixture('default');
});
test('no request is made', function(done) {
session.addEventListener('status-changed', function (v) {
if (v.detail.value === 'not-authenticated' && !requestMade) {
done();
}
});
});
teardown(function () {
sessionFixture.revert();
});
});
function emptySession () {
var currentSession = localStorage.getItem('KW_SESSION'),
currentToken = localStorage.getItem('KW_TOKEN');
localStorage.removeItem('KW_SESSION');
localStorage.removeItem('KW_TOKENv2');
return {
revert: function () {
if (currentSession) {
localStorage.setItem('KW_SESSION', currentSession);
}
if (currentToken) {
localStorage.setItem('KW_TOKENv2', currentToken);
}
}
};
}
</script>
</body>
</html>