Files
freeCodeCamp/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/how-to-put-a-profile-together.md
Shaun Hamilton cb1c3b2001 feat(learn): migrate instructions from adnode boilerplate (#39791)
* feat(learn): clarify instructions for boilerplate

* add how-to-put-a-profile-together

* add pug as language

* rephrase sentence for clarity

Co-authored-by: Randell Dawson <5313213+RandellDawson@users.noreply.github.com>

Co-authored-by: Randell Dawson <5313213+RandellDawson@users.noreply.github.com>
2020-10-15 09:37:29 -05:00

1.9 KiB

id, title, challengeType, forumTopicId
id title challengeType forumTopicId
5895f70ef9fc0f352b528e6b How to Put a Profile Together 2 301554

Description

Now that we can ensure the user accessing the /profile is authenticated, we can use the information contained in req.user on our page!

Pass an object containing the property username and value of req.user.username as the second argument for the render method of the profile view. Then, go to your profile.pug view, and add the following line below the existing h1 element, and at the same level of indentation:

h2.center#welcome Welcome, #{username}!

This creates an h2 element with the class 'center' and id 'welcome' containing the text 'Welcome, ' followed by the username.

Also, in profile.pug, add a link referring to the /logout route, which will host the logic to unauthenticate a user.

a(href='/logout') Logout

Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point here.

Instructions

Tests

tests:
  - text: You should correctly add a Pug render variable to /profile.
    testString: getUserInput => $.get(getUserInput('url')+ '/_api/server.js') .then(data => { assert.match(data, /username:( |)req.user.username/gi, 'You should be passing the variable username with req.user.username into the render function of the profile page'); }, xhr => { throw new Error(xhr.statusText); })

Challenge Seed

Solution

/**
  Backend challenges don't need solutions, 
  because they would need to be tested against a full working project. 
  Please check our contributing guidelines to learn more.
*/