chore(client) remove contextual navigation (#41919)
This commit is contained in:
@ -2,7 +2,7 @@ import React, { Fragment } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { connect } from 'react-redux';
|
||||
import { createSelector } from 'reselect';
|
||||
import { Grid, Button } from '@freecodecamp/react-bootstrap';
|
||||
import { Grid } from '@freecodecamp/react-bootstrap';
|
||||
import Helmet from 'react-helmet';
|
||||
|
||||
import envData from '../../../config/env.json';
|
||||
@ -16,7 +16,7 @@ import { submitNewAbout, updateUserFlag, verifyCert } from '../redux/settings';
|
||||
import { createFlashMessage } from '../components/Flash/redux';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import { FullWidthRow, Loader, Spacer } from '../components/helpers';
|
||||
import { Loader, Spacer } from '../components/helpers';
|
||||
import About from '../components/settings/About';
|
||||
import Privacy from '../components/settings/Privacy';
|
||||
import Email from '../components/settings/Email';
|
||||
@ -132,18 +132,6 @@ export function ShowSettings(props) {
|
||||
<Grid>
|
||||
<main>
|
||||
<Spacer size={2} />
|
||||
<FullWidthRow>
|
||||
<Button
|
||||
block={true}
|
||||
bsSize='lg'
|
||||
bsStyle='primary'
|
||||
className='btn-invert'
|
||||
href={`${apiLocation}/signout`}
|
||||
>
|
||||
{t('buttons.sign-me-out')}
|
||||
</Button>
|
||||
</FullWidthRow>
|
||||
<Spacer />
|
||||
<h1 className='text-center' style={{ overflowWrap: 'break-word' }}>
|
||||
{t('settings.for', { username: username })}
|
||||
</h1>
|
||||
|
@ -48,9 +48,6 @@ function Intro({
|
||||
</h1>
|
||||
<Spacer />
|
||||
<FullWidthRow>
|
||||
<Link className='btn btn-lg btn-primary btn-block' to='/settings'>
|
||||
{t('buttons.update-settings')}
|
||||
</Link>
|
||||
{completedChallengeCount > 0 ? (
|
||||
<CurrentChallengeLink isLargeBtn={true}>
|
||||
{t('buttons.current-challenge')}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import React, { Fragment } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Grid, Row, Button } from '@freecodecamp/react-bootstrap';
|
||||
import { Grid, Row } from '@freecodecamp/react-bootstrap';
|
||||
import Helmet from 'react-helmet';
|
||||
import Link from '../helpers/Link';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
@ -11,9 +11,6 @@ import HeatMap from './components/HeatMap';
|
||||
import Certifications from './components/Certifications';
|
||||
import Portfolio from './components/Portfolio';
|
||||
import Timeline from './components/TimeLine';
|
||||
import envData from '../../../../config/env.json';
|
||||
|
||||
const { apiLocation } = envData;
|
||||
|
||||
const propTypes = {
|
||||
isSessionUser: PropTypes.bool,
|
||||
@ -166,22 +163,6 @@ function Profile({ user, isSessionUser }) {
|
||||
</Helmet>
|
||||
<Spacer />
|
||||
<Grid>
|
||||
{isSessionUser ? (
|
||||
<FullWidthRow className='button-group'>
|
||||
<Link className='btn btn-lg btn-primary btn-block' to='/settings'>
|
||||
{t('buttons.update-settings')}
|
||||
</Link>
|
||||
<Button
|
||||
block={true}
|
||||
bsSize='lg'
|
||||
bsStyle='primary'
|
||||
className='btn-invert'
|
||||
href={`${apiLocation}/signout`}
|
||||
>
|
||||
{t('buttons.sign-me-out')}
|
||||
</Button>
|
||||
</FullWidthRow>
|
||||
) : null}
|
||||
<Spacer />
|
||||
{isLocked ? renderMessage(isSessionUser, username, t) : null}
|
||||
{!isLocked || isSessionUser ? renderProfile(user) : null}
|
||||
|
@ -47,26 +47,12 @@ const userProps = {
|
||||
navigate: () => {}
|
||||
};
|
||||
|
||||
const myProfileProps = {
|
||||
isSessionUser: true,
|
||||
...userProps
|
||||
};
|
||||
|
||||
const notMyProfileProps = {
|
||||
isSessionUser: false,
|
||||
...userProps
|
||||
};
|
||||
|
||||
describe('<Profile/>', () => {
|
||||
it('renders the settings button on your own profile', () => {
|
||||
const { getByText } = render(<Profile {...myProfileProps} />);
|
||||
|
||||
expect(getByText('buttons.update-settings')).toHaveAttribute(
|
||||
'href',
|
||||
'/settings'
|
||||
);
|
||||
});
|
||||
|
||||
it('renders the report button on another persons profile', () => {
|
||||
const { getByText } = render(<Profile {...notMyProfileProps} />);
|
||||
|
||||
|
@ -3,9 +3,8 @@
|
||||
describe('A certification,', function () {
|
||||
describe('while viewing your own,', function () {
|
||||
before(() => {
|
||||
cy.visit('/');
|
||||
cy.contains("Get started (it's free)").click({ force: true });
|
||||
cy.contains('Update my account settings').click({ force: true });
|
||||
cy.login();
|
||||
cy.visit('/settings');
|
||||
|
||||
// set user settings to public to claim a cert
|
||||
cy.get('label:contains(Public)>input').each(el => {
|
||||
@ -81,7 +80,8 @@ describe('A certification,', function () {
|
||||
describe("while viewing someone else's,", function () {
|
||||
before(() => {
|
||||
cy.go('back');
|
||||
cy.contains('Sign me out of freeCodeCamp').click({ force: true });
|
||||
cy.get('.toggle-button-nav').click();
|
||||
cy.get('.nav-list').contains('Sign out').click();
|
||||
cy.visit('/certification/developmentuser/legacy-front-end');
|
||||
});
|
||||
|
||||
|
@ -89,7 +89,6 @@ describe('Navbar', () => {
|
||||
|
||||
it('Should have `Profile` link when user is signed in', () => {
|
||||
cy.login();
|
||||
cy.get('a[href*="/settings"]').should('be.visible');
|
||||
cy.get(selectors.menuButton).click();
|
||||
cy.get(selectors.navigationLinks).contains('Profile').click();
|
||||
cy.url().should('include', '/developmentuser');
|
||||
|
@ -1,12 +0,0 @@
|
||||
/* global cy */
|
||||
|
||||
describe('The `Update my account settings` button works properly', function () {
|
||||
beforeEach(() => {
|
||||
cy.login();
|
||||
});
|
||||
|
||||
it('Should take user to their account settings when clicked', function () {
|
||||
cy.contains('Update my account settings').click();
|
||||
cy.url().should('include', '/settings');
|
||||
});
|
||||
});
|
@ -5,9 +5,8 @@ import '@testing-library/cypress/add-commands';
|
||||
describe('Settings certifications area', () => {
|
||||
before(() => {
|
||||
cy.exec('npm run seed');
|
||||
cy.visit('/');
|
||||
cy.contains("Get started (it's free)").click({ force: true });
|
||||
cy.contains('Update my account settings').click({ force: true });
|
||||
cy.login();
|
||||
cy.visit('/settings');
|
||||
});
|
||||
|
||||
describe('initially', () => {
|
||||
@ -37,8 +36,8 @@ describe('Settings certifications area', () => {
|
||||
describe('after isHonest', () => {
|
||||
beforeEach(() => {
|
||||
cy.visit('/');
|
||||
cy.contains("Get started (it's free)").click({ force: true });
|
||||
cy.contains('Update my account settings').click({ force: true });
|
||||
cy.login();
|
||||
cy.visit('/settings');
|
||||
});
|
||||
|
||||
it('Should render "You have accepted our Academic Honesty Policy." button after clicking "Agree"', () => {
|
||||
|
@ -1,26 +1,8 @@
|
||||
/* global cy expect */
|
||||
|
||||
/* global cy */
|
||||
describe('Settings', () => {
|
||||
beforeEach(() => {
|
||||
it('should be possible to visit the settings page', () => {
|
||||
cy.visit('/');
|
||||
cy.contains("Get started (it's free)").click({ force: true });
|
||||
cy.visit('/settings');
|
||||
});
|
||||
|
||||
describe('The `Sign me out of freeCodeCamp` button works properly', () => {
|
||||
it('Should get rendered properly', () => {
|
||||
cy.contains('Sign me out of freeCodeCamp')
|
||||
.should('be.visible')
|
||||
// We are checking for classes here to check for proper styling
|
||||
// This will be replaces with Percy in the future
|
||||
.should('have.class', 'btn-invert btn btn-lg btn-primary btn-block');
|
||||
});
|
||||
|
||||
it('Should take to the landing page when clicked', () => {
|
||||
cy.contains('Sign me out of freeCodeCamp').click({ force: true });
|
||||
cy.location().should(loc => {
|
||||
expect(loc.pathname).to.eq('/');
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user