Skip to content

TatianaWeb/Feed-Reader-Testing-Project

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Feed Reader Testing project | Project 4 | Fron-End Web Development

This is my repository for Udacity's project#4 using Udacity starter code (forked from udacity/frontend-nanodegree-feedreader (https://github.com/udacity/frontend-nanodegree-feedreader)).

[Live version of the tests]

Development Strategy

For a refresher (or reference) before you begin writing code, we recommend reviewing the content from JavaScript Testing. Your project will be evaluated by a Udacity code reviewer according to the Feed Reader Testing project rubric. Please review for detailed project requirements.

  1. Familiarize yourself with the starter code
    • Open up index.html and review the functionality of the application within your browser
    • What is all the code in app.js doing? Be sure to read all code comments
    • Check out style.css. How is styling applied to the application?
  2. Explore the Jasmine spec file in feedreader.js
    • This is the file in which you'll be writing your tests
    • Make sure to read all code comments here as well
    • Review the Jasmine documentation if needed
  3. Edit the allFeeds variable in app.js to make the provided test fail
    • See how Jasmine visualizes this failure in your application
    • Return the allFeeds variable to a passing state after reviewing the failed test
  4. Write a test that loops through each feed in the allFeeds object and ensures it has a URL defined and that the URL is not empty
    • For example, how would you use a for...of loop in this test?
  5. Write a test that loops through each feed in the allFeeds object and ensures it has a name defined and that the name is not empty
    • Think about how you wrote the previous test. What are you testing for this time?
  6. Write a new test suite named "The menu"
    • What are you describe-ing in this test suite?
  7. Write a test that ensures the menu element is hidden by default
    • You'll have to analyze the HTML and the CSS to determine how the hiding/showing of the menu element is implemented
    • What code in app.js is directly involved with toggling the menu on and off?
  8. Write a test that ensures the menu changes visibility when the menu icon is clicked. This test should have two expectations: does the menu display itself when clicked, and does it hide when clicked again?
    • Think about how you wrote the previous test. What is different this time around?
    • Which clickable element are you checking for?
    • How do you "simulate" a mouse click that element without actually clicking it?
  9. Write a test suite named "Initial Entries"
    • What are you describe-ing in this test suite?
  10. Write a test that ensures when the loadFeed function is called and completes its work, there is at least a single .entry element within the .feed container
    • How does Jasmine's beforeEach()function work?
    • How does the loadFeed() function in app.js work? Is it synchronous or asynchronous?
  11. Write a test suite named "New Feed Selection"
    • What are you describe-ing in this test suite?
  12. Write a test that ensures when a new feed is loaded by the loadFeed function that the content actually changes
    • How is this test different from the previous test?

Additionally, note that:

  • No test should be dependent on the results of another
  • Callbacks should be used to ensure that feeds are loaded before they are tested
  • Error handling should be implemented for undefined variables and out-of-bound array access
  • When complete, all of your tests should pass

Instructions to refresh code from VSC to GitHub

  • git add .
  • git commit -m "Any message"
  • git push origin master

Dependencies

Helpful links for this project:

Contributing

This repository is the starter code for all Udacity students. Therefore, we most likely will not accept pull requests.

About

RMIT | Front-End Web Development | Project 4

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 69.7%
  • HTML 16.2%
  • CSS 14.1%