Skip to content

Commit

Permalink
Introduce useUserSessionTimeout hook
Browse files Browse the repository at this point in the history
  • Loading branch information
bjoernricks committed Nov 8, 2019
1 parent c981c7d commit 79f25a2
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 0 deletions.
46 changes: 46 additions & 0 deletions gsa/src/web/utils/__tests__/useUserSessionTimeout.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/* Copyright (C) 2019 Greenbone Networks GmbH
*
* SPDX-License-Identifier: GPL-2.0-or-later
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*/
import React from 'react';

import {dateFormat} from 'gmp/locale/date';
import date from 'gmp/models/date';

import {setSessionTimeout} from 'web/store/usersettings/actions';

import {rendererWith} from '../testing';

import useUserSessionTimeout from '../useUserSessionTimeout';

const TestUserSessionTimeout = () => (
<span>{dateFormat(useUserSessionTimeout(), 'DD-MM-YY')}</span>
);

describe('useUserSessionTimeout tests', () => {
test('should return the users session timeout', () => {
const {render, store} = rendererWith({store: true});

const timeout = date('2019-10-10');

store.dispatch(setSessionTimeout(timeout));

const {element} = render(<TestUserSessionTimeout />);

expect(element).toHaveTextContent(/^10-10-19$/);
});
});
25 changes: 25 additions & 0 deletions gsa/src/web/utils/useUserSessionTimeout.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/* Copyright (C) 2019 Greenbone Networks GmbH
*
* SPDX-License-Identifier: GPL-2.0-or-later
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*/
import {useSelector} from 'react-redux';

import {getSessionTimeout} from 'web/store/usersettings/selectors';

const useUserSessionTimeout = () => useSelector(getSessionTimeout);

export default useUserSessionTimeout;

0 comments on commit 79f25a2

Please sign in to comment.