Best JavaScript code snippet using webdriverio-monorepo
SessionPanel-test.js
Source:SessionPanel-test.js
...64 // subject.instance().deleteAllSessions();65 // expect(dispatchFuncs.deleteAllSessions).toHaveBeenCalled();66 // });67 // it('can delete one', () => {68 // subject.instance().deleteSession(mockSessionId);69 // expect(dispatchFuncs.deleteSession).toHaveBeenCalled();70 // });71 // it('requires a sessionId to delete single session', () => {72 // subject.instance().deleteSession();73 // expect(dispatchFuncs.deleteSession).not.toHaveBeenCalled();74 // });75 // describe('UI', () => {76 // let instance;77 // beforeEach(() => {78 // subject = mount(<Provider store={mockStore}><SessionPanel {...props} /></Provider>);79 // instance = subject.instance();80 // jest.spyOn(instance, 'deleteAllSessions');81 // jest.spyOn(instance, 'deleteSession');82 // });83 // it('provides a button to delete all', () => {84 // expect(instance.deleteAllSessions).not.toHaveBeenCalled();85 // subject.find('.session-panel__header').find('DismissButton').simulate('click');86 // expect(instance.deleteAllSessions).toHaveBeenCalled();...
deleteSession.test.js
Source:deleteSession.test.js
...20 nock.cleanAll();21 });22 it('dispatches success action when deleteSession succeeds', () => {23 const store = mockStore({});24 return store.dispatch(deleteSession())25 .then(() => {26 const actions = store.getActions();27 expect(actions[0]).to.have.property('type', HOME_DELETE_SESSION_BEGIN);28 expect(actions[1]).to.have.property('type', HOME_DELETE_SESSION_SUCCESS);29 });30 });31 it('dispatches failure action when deleteSession fails', () => {32 const store = mockStore({});33 return store.dispatch(deleteSession({ error: true }))34 .catch(() => {35 const actions = store.getActions();36 expect(actions[0]).to.have.property('type', HOME_DELETE_SESSION_BEGIN);37 expect(actions[1]).to.have.property('type', HOME_DELETE_SESSION_FAILURE);38 expect(actions[1]).to.have.nested.property('data.error').that.exist;39 });40 });41 it('returns correct action by dismissDeleteSessionError', () => {42 const expectedAction = {43 type: HOME_DELETE_SESSION_DISMISS_ERROR,44 };45 expect(dismissDeleteSessionError()).to.deep.equal(expectedAction);46 });47 it('handles action type HOME_DELETE_SESSION_BEGIN correctly', () => {...
changesEnquiries.js
Source:changesEnquiries.js
1const domain = require('../lib/urlExtract');2const deleteSession = require('../lib/deleteSession');3const dataStore = require('../lib/dataStore');4const keyDetailsHelper = require('../lib/keyDetailsHelper');5function checkAwardDetailsNotInSession(req) {6 return !req.session.searchedNino;7}8function stopRestrictedServiceOrigin(req) {9 const referrer = req.get('Referrer') || '';10 const stopRestrictiveConditions = ['search-result', 'changes-and-enquiries', 'tasks'];11 return stopRestrictiveConditions.some((el) => referrer.includes(el));12}13function redirectWhenNotInSession(req, res, log) {14 log.info(`Redirect - user not in session - ${req.method} ${req.fullUrl}`);15 res.redirect('/find-someone');16}17module.exports = (log) => (req, res, next) => {18 if (req.fullUrl === '/find-someone') {19 if (stopRestrictedServiceOrigin(req)) {20 dataStore.save(req, 'origin', 'full-service');21 } else if (dataStore.get(req, 'origin') === null) {22 dataStore.save(req, 'origin', 'restricted-service');23 }24 res.locals.restrictedService = true;25 res.locals.origin = dataStore.get(req, 'origin');26 res.locals.activeTab = 'change-and-enquiries';27 next();28 } else if (req.url.includes('find-someone/search-result')) {29 if (checkAwardDetailsNotInSession(req)) {30 redirectWhenNotInSession(req, res, log);31 } else {32 next();33 }34 } else if (req.url.includes('find-someone')) {35 res.locals.restrictedService = true;36 res.locals.origin = dataStore.get(req, 'origin');37 next();38 } else if (req.url.includes('changes-and-enquiries')) {39 res.locals.restrictedService = true;40 res.locals.origin = dataStore.get(req, 'origin');41 const awardDetails = dataStore.get(req, 'awardDetails');42 if (awardDetails !== undefined) {43 res.locals.keyDetails = keyDetailsHelper.formatter(awardDetails);44 }45 if (checkAwardDetailsNotInSession(req)) {46 redirectWhenNotInSession(req, res, log);47 } else if (req.url.includes('death') || req.url.includes('marital-details')) {48 if (domain.extract(req.headers.referer) === req.hostname) {49 next();50 } else {51 log.info(`Security redirect - user agent failed to match - ${req.method} ${req.fullUrl}`);52 deleteSession.deleteSessionBySection(req, 'marital');53 deleteSession.deleteDeathDetail(req);54 res.redirect('/changes-and-enquiries/personal');55 }56 } else {57 next();58 }59 if (!req.url.includes('death') && !req.url.includes('deferral')) {60 deleteSession.deleteSessionBySection(req, 'stop-state-pension');61 }62 if (!req.url.includes('death')) {63 deleteSession.deleteDeathDetail(req);64 deleteSession.deleteSessionBySection(req, 'death-payee-details-updated');65 deleteSession.deleteSessionBySection(req, 'death-payment-details');66 }67 if (!req.url.includes('deferral')) {68 deleteSession.deleteSessionBySection(req, 'deferral');69 }70 if (!req.url.includes('marital-details/')) {71 deleteSession.deleteSessionBySection(req, 'marital');72 }73 if (!req.url.includes('manual-payment')) {74 deleteSession.deleteSessionBySection(req, 'manual-payment');75 }76 } else {77 next();78 }...
SessionCard.js
Source:SessionCard.js
...60 { name: 'Edit', event: () => sessionEdited(session), icon: 'edit' },61 {62 name: 'Archive',63 event: () =>64 deleteSession({65 variables: {66 session_id67 }68 }),69 icon: 'archive'70 }71 ]}72 link={`/session/${session.session_id}`}73 />74 )}75 </Mutation>76 );77}78export default withSnackbar(SessionCard);
AuthStore.js
Source:AuthStore.js
...10 setSession(apiKey) {11 try {12 localStorage['equiptSession'] = JSON.stringify(apiKey);13 } catch(err) {14 this.deleteSession();15 }16 },17 getSession() {18 return localStorage['equiptSession'];19 },20 deleteSession() {21 localStorage['equiptSession'] = '';22 _currentUser = null;23 },24 getApiKey() {25 try {26 return this.getSession() && JSON.parse(this.getSession()).access_token;27 } catch(err) {28 this.deleteSession();29 }30 },31 getUserId() {32 try {33 return this.getSession() && JSON.parse(this.getSession()).user_id;34 } catch(err) {35 this.deleteSession();36 }37 },38 isFacebookLogin() {39 return _facebookLogin;40 }41});42AppDispatcher.register(function(action) {43 44 var {type, data} = action.payload;45 let AuthStore = Equipt.stores.AuthStore;46 47 switch(type) {48 case Constants.NEW_SESSION:49 _currentUser = data.user;50 AuthStore.setSession(data.api_key);51 AuthStore.emitChange();52 break;53 case Constants.END_SESSION:54 AuthStore.deleteSession();55 AuthStore.emitChange();56 break;57 case Constants.FACEBOOK_STATUS_CHANGED:58 if (data.isLoggedIn) {59 _facebookLogin = true;60 _currentUser = data.user;61 AuthStore.setSession(data.api_key);62 } else {63 _facebookLogin = false;64 AuthStore.deleteSession();65 } 66 AuthStore.emitChange();67 break;68 }...
testDeleteSession.js
Source:testDeleteSession.js
1var test = require('tape')2var init = require('./helpers/init.js')3test('deleteSession() can be called without a callback', function (t) {4 t.plan(2)5 t.doesNotThrow(function () {6 init().sessionState.deleteSession(null)7 })8 t.doesNotThrow(function () {9 init().sessionState.deleteSession('wheee')10 })11})12test('deleteSession() calls back with a decent error message if a bad session id is passed', function (t) {13 t.plan(2)14 init().sessionState.deleteSession(null, function (err) {15 t.ok(err)16 t.ok(/session ?id/i.test(err.message))17 t.end()18 })19})20test('deleteSession() works as expected', function(t) {21 var sessionId = 'LOLThisIsAFakeSessionId'22 var now = new Date().getTime().toString()23 var initialState = init()24 var ss = initialState.sessionState25 var sdb = initialState.sessionsDb26 t.plan(9)27 ss.deleteSession(sessionId, function (err) { //not yet authenticated28 t.ifError(err)29 sdb.put(sessionId, now, function (err) { //authenticate30 t.ifError(err)31 sdb.get(sessionId, function (err, time) { //make sure 'put' worked32 t.ifError(err)33 t.equal(time, now, 'times match')34 ss.deleteSession(sessionId, function (err) { //previously authenticated35 t.ifError(err)36 t.notOk(err && err.notFound, 'no \'not found\' error')37 sdb.get(sessionId, function (err, time) { //make sure unauth worked38 t.ok(err, 'error')39 t.ok(err && err.notFound, '\'not found\' error')40 t.notOk(time, 'no time came back')41 t.end()42 })43 })44 })45 })46 })...
SessionAction.test.js
Source:SessionAction.test.js
...6 let setSessionTimeOut;7 // describe block for getActiveMenuOnClickAction8 describe('deleteSession', () => {9 beforeEach(() => {10 deleteSession = actions.deleteSession();11 });12 it('returns correct action type', () => {13 expect(deleteSession.type).to.equal(SessionActionTypes.SESSION_DELETE_REQUEST);14 });15 });16 describe('setSessionTimeOut', () => {17 beforeEach(() => {18 setSessionTimeOut = actions.setSessionTimeOut(true);19 });20 it('returns correct action type', () => {21 expect(setSessionTimeOut.type).to.equal(SessionActionTypes.IS_SESSION_TIMED_OUT);22 });23 });24});
sessionClear.js
Source:sessionClear.js
...21module.exports = () => {22 console.log('running cron schedule every 20 seconds to delete old sessions');23 cron.schedule('* */2 * * *', () => {24 console.log('HELLOOOOO');25 deleteSession();26 });...
Using AI Code Generation
1var webdriverio = require('webdriverio');2var options = {3 desiredCapabilities: {4 }5};6 .remote(options)7 .init()8 .deleteSession()9 .then(function() {10 console.log('Session deleted');11 })12 .catch(function(err) {13 console.log(err);14 });15var webdriver = require('selenium-webdriver');16var driver = new webdriver.Builder()17 .forBrowser('chrome')18 .build();19driver.quit();20var webdriverio = require('webdriverio');21var options = {22 desiredCapabilities: {23 }24};25 .remote(options)26 .init()27 .deleteAllSessions()28 .then(function() {29 console.log('All sessions deleted');30 })31 .catch(function(err) {32 console.log(err);33 });34var webdriver = require('selenium-webdriver');35var driver = new webdriver.Builder()36 .forBrowser('chrome')37 .build();38driver.quit();39var webdriverio = require('webdriverio');40var options = {41 desiredCapabilities: {42 }43};44 .remote(options)45 .init()46 .deleteAllCookies()47 .then(function() {48 console.log('All cookies deleted');49 })50 .catch(function(err) {51 console.log(err);52 });
Using AI Code Generation
1var webdriverio = require('webdriverio');2var options = {3 desiredCapabilities: {4 }5};6 .remote(options)7 .init()8 .deleteSession()9 .end();10var webdriverio = require('webdriverio');11var options = {12 desiredCapabilities: {13 }14};15 .remote(options)16 .init()17 .deleteAllCookies()18 .end();19var webdriverio = require('webdriverio');20var options = {21 desiredCapabilities: {22 }23};24 .remote(options)25 .init()26 .saveScreenshot('myScreenshot.png')27 .end();28var webdriverio = require('webdriverio');29var options = {30 desiredCapabilities: {31 }32};33 .remote(options)34 .init()35 .setViewportSize({36 })37 .end();38var webdriverio = require('webdriverio');39var options = {40 desiredCapabilities: {
Using AI Code Generation
1var webdriverio = require('webdriverio');2var options = { desiredCapabilities: { browserName: 'chrome' } };3 .remote(options)4 .init()5 .deleteSession()6 .then(function() {7 console.log('test done');8 })9 .catch(function(err) {10 console.log(err);11 });12var webdriverio = require('webdriverio');13var options = { desiredCapabilities: { browserName: 'chrome' } };14describe('webdriver.io page', function() {15 it('should have the right title - the fancy generator way', function() {16 var title = browser.getTitle();17 assert.equal(title, 'WebdriverIO - Selenium 2.0 javascript bindings for nodejs');18 });19 after(function() {20 browser.deleteSession();21 });22});23var webdriverio = require('webdriverio');24var options = { desiredCapabilities: { browserName: 'chrome' } };25describe('webdriver.io page', function() {26 it('should have the right title - the fancy generator way', function() {27 var title = browser.getTitle();28 assert.equal(title, 'WebdriverIO - Selenium 2.0 javascript bindings for nodejs');29 });30 after(function() {31 browser.deleteSession();32 });33});34var webdriverio = require('webdriverio');35var options = { desiredCapabilities: { browserName: 'chrome' } };36describe('webdriver.io page', function() {37 it('should have the right title - the fancy generator way
Using AI Code Generation
1const { remote } = require('webdriverio');2const opts = {3 capabilities: {4 }5};6(async () => {7 const browser = await remote(opts);8 await browser.deleteSession();9})();
Wondering what could be a next-gen browser and mobile test automation framework that is also simple and concise? Yes, that’s right, it's WebdriverIO. Since the setup is very easy to follow compared to Selenium testing configuration, you can configure the features manually thereby being the center of attraction for automation testing. Therefore the testers adopt WedriverIO to fulfill their needs of browser testing.
Learn to run automation testing with WebdriverIO tutorial. Go from a beginner to a professional automation test expert with LambdaTest WebdriverIO tutorial.
Running Your First Automation Script - Learn the steps involved to execute your first Test Automation Script using WebdriverIO since the setup is very easy to follow and the features can be configured manually.
Selenium Automation With WebdriverIO - Read more about automation testing with WebdriverIO and how it supports both browsers and mobile devices.
Browser Commands For Selenium Testing - Understand more about the barriers faced while working on your Selenium Automation Scripts in WebdriverIO, the ‘browser’ object and how to use them?
Handling Alerts & Overlay In Selenium - Learn different types of alerts faced during automation, how to handle these alerts and pops and also overlay modal in WebdriverIO.
How To Use Selenium Locators? - Understand how Webdriver uses selenium locators in a most unique way since having to choose web elements very carefully for script execution is very important to get stable test results.
Deep Selectors In Selenium WebdriverIO - The most popular automation testing framework that is extensively adopted by all the testers at a global level is WebdriverIO. Learn how you can use Deep Selectors in Selenium WebdriverIO.
Handling Dropdown In Selenium - Learn more about handling dropdowns and how it's important while performing automated browser testing.
Automated Monkey Testing with Selenium & WebdriverIO - Understand how you can leverage the amazing quality of WebdriverIO along with selenium framework to automate monkey testing of your website or web applications.
JavaScript Testing with Selenium and WebdriverIO - Speed up your Javascript testing with Selenium and WebdriverIO.
Cross Browser Testing With WebdriverIO - Learn more with this step-by-step tutorial about WebdriverIO framework and how cross-browser testing is done with WebdriverIO.
Get 100 minutes of automation test minutes FREE!!