Git Product home page Git Product logo

todomvc's Introduction

todomvc

Installation

yarn install to install all the dependencies, yarn build to create dist/bundle.js, and open index.html to see it running in a browser.

Credit

This version of todomvc is adapted from https://github.com/Rich-Harris/rollup-todomvc

todomvc's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

todomvc's Issues

Deprecation warnings in test-app workflow log

Problem description

The workflow .github/workflows/test-app.yml produces deprecation warnings:

  1. "Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions/checkout@v2, cypress-io/github-action@v2" (Node 12 has been out of support since April 2022, as a result we have started the deprecation process of Node 12 for GitHub Actions. We plan to migrate all actions to run on Node16 by Summer 2023.)

  2. "The set-output command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/" ( We are monitoring telemetry for the usage of these commands and plan to fully disable them on 31st May 2023. Starting 1st June 2023 workflows using save-state or set-output commands via stdout will fail with an error.)

Steps to reproduce

  1. Fork repository
  2. Push to fork
  3. View Actions log

Suggested fix

In .github/workflows/test-app.yml update:

  • actions/checkout@v2 to @v3
  • cypress-io/github-action@v2 to @v5

Additional suggestions

Update other dependencies to latest versions including updating Cypress to latest v9 legacy configuration version.

In a further step update Cypress to latest version (currently 12.x).

Example test not compatible with Cypress 12

Problem description

After upgrading to Cypress 12.5.1 out of 28 tests in total, 20 pass and 8 fail.

  TodoMVC
    √ adds 2 todos (596ms)
    No Todos
      √ should hide #main and #footer (67ms)
    New Todo
      √ should allow me to add todo items (742ms)
      √ adds items (714ms)
      √ should clear text input field when an item is added (433ms)
      √ should append new items to the bottom of the list (989ms)
      √ should show #main and #footer when items added (376ms)
    Mark all as completed
      √ should allow me to mark all items as completed (1042ms)
      √ should allow me to clear the complete state of all items (1133ms)
      √ complete all checkbox should update state when items are completed / cleared (1208ms)
    Item
      1) should allow me to mark items as complete
      2) should allow me to un-mark items as complete
      √ should allow me to edit an item (1479ms)
    Editing
      √ should hide other controls when editing (1074ms)
      √ should save edits on blur (1406ms)
      √ should trim entered text (1555ms)
      √ should remove the item if an empty text string was entered (1175ms)
      √ should cancel edits on escape (1224ms)
    Counter
      √ should display the current number of todo items (582ms)
    Clear completed button
      √ should display the correct text (1041ms)
      3) should remove completed items when clicked
      √ should be hidden when there are no items that are completed (1122ms)
    Persistence
      4) should persist its data
    Routing
      5) should allow me to display active items
      6) should respect the back button
      7) should allow me to display completed items
      8) should allow me to display all items
      √ should highlight the currently applied filter (1518ms)

(Using Cypress 11.2.0 the tests report 28 pass and 0 fail.)

Steps to reproduce

Edit package.json and change
"cypress": "^7.0.0" to
"cypress": "^12.0.0"

Execute

yarn install
npm run build
npm start

In a separate terminal window execute

npx cypress open

Take defaults for migration to Cypress 12.
Select E2E Testing
Select Electron
Start E2E Testing in Electron
Select app.spec.js to run
Note test run results 20 pass, 8 fail.

Repeat the above using "cypress": "^11.0.0" instead and note that all 28 tests pass.

Expectation

It should be possible to use the test in the latest current major version of Cypress 12.x.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.