Main page (quotes list) | Quote page |
---|---|
- The quotes list display
- Open/close the "add quote" form
- Create new quote (+ form validation)
- Open the quote page
- Back to the main page
- A list of quotes should be displayed on the page
- The created quote should be appended to list
- Quote page should be opened on click to quote item
- Displayed text of quote is correct
- Displayed author of quote is correct
- Page should be changed to main on click to "To quotes list"
- Title of page contains correct text
- Quotes list is displayed and count of displayed quotes matches the input data
- Quote create form is opened by default
- Form is closing when "X" button is clicked
- Form is opening when "Create quote" button is clicked
- Count of displayed quotes matches the input data
- Text of first quote is correct
- Author of first quote is correct
- First quote item have link to its page
- Text of error validation is not displayed by default
- Validation error is displayed, when:
- Author name length less than 2 characters
- Text less than 2 characters
- Author name length greater than 64 characters
- Text length greater than 256 characters
- Author is not filled 6.Text is not filled
- Validation error is not displayed, when:
- length of author name > 2 & < 64 and length of text > 2 & < 256
- Form submitting
- When form is valid
- The entered data is sent
- Fields of form cleans
- When form is not valid
- The entered data is not sent
- When form is valid
- loadQuotesList() - requests a list of quotes
- loadQuote() - requests quote by id
- createQuote() - quote creating
- When QuotesFetchAll is triggered, a list of quotes is requested and the QuotesFetchedAll event is created
- When QuotesFetchOne is triggered, a quote is requested and the QuotesFetchedOne event is created
- When QuotesCreate is triggered, the quote is sent to the server and the QuotesFetchedOne event is created
- QuotesFetchedAll must replace quotes list in store
- QuotesFetchedOne must append quote to the list in store
- QuotesFetchedOne must do not append quote to the list in store, if quote is exist in list
- QuotesFetchedOne must append quote to the list in store, if quote is not exist in list
- Creates QuotesFetchOne action, for loading data from server
- Gives quote from store by id from router
- If the store does not have the expected quote, then it expects its appearance (filter)
- Creates QuotesFetchAll action, for loading data from server
- Gives Observable with quotes list from store
- Observable with a list of quotes can send new data