mirror of
https://github.com/elyby/accounts-frontend.git
synced 2025-05-31 14:11:58 +05:30
Add more auth/oauth/multi-acc related test cases
This commit is contained in:
@ -66,9 +66,10 @@ export class AccountSwitcher extends React.Component<Props> {
|
||||
styles.accountSwitcher,
|
||||
styles[`${skin}AccountSwitcher`],
|
||||
)}
|
||||
data-testid="account-switcher"
|
||||
>
|
||||
{highlightActiveAccount ? (
|
||||
<div className={styles.item}>
|
||||
{highlightActiveAccount && (
|
||||
<div className={styles.item} data-testid="active-account">
|
||||
<div
|
||||
className={clsx(
|
||||
styles.accountIcon,
|
||||
@ -97,6 +98,7 @@ export class AccountSwitcher extends React.Component<Props> {
|
||||
<div className={styles.link}>
|
||||
<a
|
||||
className={styles.link}
|
||||
data-testid="logout-account"
|
||||
onClick={this.onRemove(activeAccount)}
|
||||
href="#"
|
||||
>
|
||||
@ -106,11 +108,13 @@ export class AccountSwitcher extends React.Component<Props> {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
) : null}
|
||||
)}
|
||||
|
||||
{available.map((account, index) => (
|
||||
<div
|
||||
className={clsx(styles.item, styles.accountSwitchItem)}
|
||||
key={account.id}
|
||||
data-e2e-account-id={account.id}
|
||||
onClick={this.onSwitch(account)}
|
||||
>
|
||||
<div
|
||||
@ -125,6 +129,7 @@ export class AccountSwitcher extends React.Component<Props> {
|
||||
{allowLogout ? (
|
||||
<div
|
||||
className={styles.logoutIcon}
|
||||
data-testid="logout-account"
|
||||
onClick={this.onRemove(account)}
|
||||
/>
|
||||
) : (
|
||||
@ -141,6 +146,7 @@ export class AccountSwitcher extends React.Component<Props> {
|
||||
<Link to="/login" onClick={this.props.onAfterAction}>
|
||||
<Button
|
||||
color={COLOR_WHITE}
|
||||
data-testid="add-account"
|
||||
block
|
||||
small
|
||||
className={styles.addAccount}
|
||||
|
@ -89,10 +89,12 @@ class RootPage extends React.PureComponent<{
|
||||
<Route path="/rules" component={RulesPage} />
|
||||
<Route path="/dev" component={DevPage} />
|
||||
|
||||
{!user.isGuest && (
|
||||
<PrivateRoute exact path="/" component={ProfilePage} />
|
||||
)}
|
||||
|
||||
<AuthFlowRoute
|
||||
exact
|
||||
path="/"
|
||||
key="indexPage"
|
||||
component={user.isGuest ? AuthPage : ProfilePage}
|
||||
/>
|
||||
<AuthFlowRoute path="/" component={AuthPage} />
|
||||
|
||||
<Route component={PageNotFound} />
|
||||
|
@ -77,6 +77,7 @@ export default class AuthFlow implements AuthContext {
|
||||
onReady: () => void;
|
||||
navigate: (route: string, options: { replace?: boolean }) => void;
|
||||
currentRequest: Request;
|
||||
oAuthStateRestored = false;
|
||||
dispatch: (action: { [key: string]: any }) => void;
|
||||
getState: () => RootState;
|
||||
|
||||
@ -184,9 +185,6 @@ export default class AuthFlow implements AuthContext {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {object} - current request object
|
||||
*/
|
||||
getRequest() {
|
||||
return {
|
||||
path: '',
|
||||
@ -296,6 +294,12 @@ export default class AuthFlow implements AuthContext {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.oAuthStateRestored) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.oAuthStateRestored = true;
|
||||
|
||||
try {
|
||||
const data = JSON.parse(localStorage.getItem('oauthData'));
|
||||
const expirationTime = 2 * 60 * 60 * 1000; // 2h
|
||||
|
Reference in New Issue
Block a user