Javascript-testing-practical-approach-2021-course-v3 - Javascript Testing, a Practical Approach (v3)

Overview

Javascript Testing, a Practical Approach

Javascript Testing, a Practical Approach

Description

This is the reference repository with all the contents and the examples of the "Javascript Testing, a Practical Approach" course.

The course starts from the peak of the testing pyramid and goes down instead of following the "standard" testing path.

During the course

The most important scripts are:

  • $ npm run cy:open: starts the Cypress UI
  • $ npm run realworld:frontend:start: starts the front-end project

Table of contents

In the "docs" folder there are:

About me

Stefano Magni

I'm Stefano Magni, I'm a passionate and positive-minded Senior Front-end Engineer, a Speaker, and an Instructor from Italy (working remotely since 2018). Developing User Interfaces, solving problems, and helping people are my passions.

I have worked in this field for more than ten years, including experience with different codebases (currently working on a 250K-LOC one) and various companies: a mid-size company, a Bitcoin startup, a web-agency, etc. organized through Scrum, Kanban, or classic Waterfall.

What I love:

  • working with passionate people
  • coding User Interfaces, solving the closest to the user problems
  • writing maintainable and easy to refactor code
  • guaranteeing the highest possible quality of my work with precise execution and problems prevention
  • easing other developers and stakeholders work with high proactivity, communication, providing a lot of feedback, mentoring, and improving workflows
  • actively looking for and proposing solutions for every kind of problem I see
  • learning and solidifying/spreading my knowledge by speaking and teaching

In the last years, I became a speaker again, revamping my learning path completely, including answering on StackOverflow, writing articles, sharing plugins, and speaking at meetups.

I'm currently focused on React, TypeScript and all their ecosystems.

I wrote a big UI Testing Best Practices project on GitHub.

GitHub - LinkedIn - Twitter

Changes compared to the previous version of the course

TODO:

You might also like...

:white_check_mark: The Node.js best practices list (March 2021)

:white_check_mark:  The Node.js best practices list (March 2021)

Node.js Best Practices Follow us on Twitter! @nodepractices Read in a different language: CN, BR, RU, PL, JA, EU (ES, FR, HE, KR and TR in progress! )

Jan 9, 2023

HITB SECCONF EDU CTF 2021. Developed with ❤️ by Hackerdom team and HITB.

HITB SECCONF EDU CTF 2021. Developed with ❤️ by Hackerdom team and HITB.

HITB SECCCONF EDU CTF 2021 SECCONF EDU CTF is an online international challenge in information security. Developed by Hackerdom team for HITB SECCONF

Sep 3, 2022

求是潮技术 2021 秋纳二面试题

Contributor:@巨硬 2021 Fall Round Two 恭喜您,从众多zjuer中脱颖而出,通过了我们的第一轮考验。现在,您还需要跨过最后一个关卡————这道小小的二面题。 我们为您精心准备了四道试题,它们难度不一、类型各异。我们希望您至少挑选一道完成,来向我们展示您解决问题的智慧和

Sep 22, 2022

2021 Portfolio, built with Next.js

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Oct 9, 2022

A website made using ReactJS library which displays all the best selling books of 2021 and a feature to check them on amazon.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Dec 30, 2021

All five assignments and the final group project is done in class CSCI5410 (Serverless Data Processing) Fall 2021 of MACS at Dalhousie University.

Dalhousie University | Fall 2021 | CSCI5410 | SDP (Serverless Data Processing) All five assignments and the final group project is done in class CSCI5

Dec 26, 2021

Formfunctional2021 - This was my very last project of 2021 I just made more revisions to it so yeah enjoy!

FORM FUNCTIONAL 2021 Hello everyone! This project was inspired by the Traversy Media React Crash Course 2021! Basically, what I did was that I took th

Jan 2, 2022

Elections in Russia, Saint Petersburg, 2021: results, turnout, and commission data. With image charts and brief introduction to election fraud methods used.

Elections in Russia, Saint Petersburg, 2021: results, turnout, and commission data. With image charts and brief introduction to election fraud methods used.

2021 Elections in Saint Petersburg, Russia 🇷🇺 Переключиться на русский 📈 Jump to charts 🤖 Telegram bot In Russia, Saint Petersburg from 17th to 19

Dec 26, 2022

This project is an attempt at recreating the WebGL animation featured in the 2021 Linear release page.

Linear Vaporwave Three.js scene This project is an attempt at recreating the WebGL animation featured in the 2021 Linear release page. Demo Head over

Dec 28, 2022
Comments
  • Configure Renovate

    Configure Renovate

    WhiteSource Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • package.json (npm)
    • realworld/frontend/package.json (npm)
    • .nvmrc (nvm)

    Configuration Summary

    Based on the default config's presets, Renovate will:

    • Start dependency updates only once this onboarding PR is merged
    • Enable Renovate Dependency Dashboard creation
    • If semantic commits detected, use semantic commit type fix for dependencies and chore for all others
    • Ignore node_modules, bower_components, vendor and various test/tests directories
    • Autodetect whether to pin dependencies or maintain ranges
    • Rate limit PR creation to a maximum of two per hour
    • Limit to maximum 10 open PRs at any time
    • Group known monorepo packages together
    • Use curated list of recommended non-monorepo package groupings
    • Fix some problems with very old Maven commons versions
    • Ignore spring cloud 1.x releases
    • Ignore http4s digest-based 1.x milestones
    • Use node versioning for @types/node
    • Limit concurrent requests to reduce load on Repology servers until we can fix this properly, see issue 10133

    🔡 Would you like to change the way Renovate is upgrading your dependencies? Simply edit the renovate.json in this branch with your custom config and the list of Pull Requests in the "What to Expect" section below will be updated the next time Renovate runs.


    What to Expect

    With your current configuration, Renovate will create 18 Pull Requests:

    Pin dependencies
    Update dependency cross-env to v7.0.3
    • Schedule: ["at any time"]
    • Branch name: renovate/cross-env-7.x
    • Merge into: main
    • Upgrade cross-env to 7.0.3
    Update dependency marked to v1.2.9
    • Schedule: ["at any time"]
    • Branch name: renovate/marked-1.x
    • Merge into: main
    • Upgrade marked to 1.2.9
    Update dependency npm to v6.14.15
    • Schedule: ["at any time"]
    • Branch name: renovate/npm-6.x
    • Merge into: main
    • Upgrade npm to 6.14.15
    Update dependency react-redux to v5.1.2
    • Schedule: ["at any time"]
    • Branch name: renovate/react-redux-5.x
    • Merge into: main
    • Upgrade react-redux to 5.1.2
    Update dependency redux-devtools-extension to v2.13.9
    • Schedule: ["at any time"]
    • Branch name: renovate/redux-devtools-extension-2.x
    • Merge into: main
    • Upgrade redux-devtools-extension to 2.13.9
    Update react monorepo to v17.0.2
    • Schedule: ["at any time"]
    • Branch name: renovate/react-monorepo
    • Merge into: main
    • Upgrade react to 17.0.2
    • Upgrade react-dom to 17.0.2
    Update Node.js to v14.18.2
    • Schedule: ["at any time"]
    • Branch name: renovate/node-14.x
    • Merge into: main
    • Upgrade node to 14.18.2
    Update dependency history to v5.2.0
    • Schedule: ["at any time"]
    • Branch name: renovate/history-5.x
    • Merge into: main
    • Upgrade history to 5.2.0
    Update dependency nan to v2.15.0
    • Schedule: ["at any time"]
    • Branch name: renovate/nan-2.x
    • Merge into: main
    • Upgrade nan to 2.15.0
    Update dependency prop-types to v15.8.0
    • Schedule: ["at any time"]
    • Branch name: renovate/prop-types-15.x
    • Merge into: main
    • Upgrade prop-types to 15.8.0
    Update dependency redux to v4.1.2
    • Schedule: ["at any time"]
    • Branch name: renovate/redux-4.x
    • Merge into: main
    • Upgrade redux to 4.1.2
    Update Node.js to v16
    • Schedule: ["at any time"]
    • Branch name: renovate/node-16.x
    • Merge into: main
    • Upgrade node to 16.13.1
    Update dependency marked to v4
    • Schedule: ["at any time"]
    • Branch name: renovate/marked-4.x
    • Merge into: main
    • Upgrade marked to 4.0.8
    Update dependency npm to v8
    • Schedule: ["at any time"]
    • Branch name: renovate/npm-8.x
    • Merge into: main
    • Upgrade npm to 8.3.0
    Update dependency react-redux to v7
    • Schedule: ["at any time"]
    • Branch name: renovate/react-redux-7.x
    • Merge into: main
    • Upgrade react-redux to 7.2.6
    Update dependency react-scripts to v5
    • Schedule: ["at any time"]
    • Branch name: renovate/react-scripts-5.x
    • Merge into: main
    • Upgrade react-scripts to 5.0.0
    Update react-router monorepo to v6 (major)
    • Schedule: ["at any time"]
    • Branch name: renovate/major-react-router-monorepo
    • Merge into: main
    • Upgrade react-router to 6.2.1
    • Upgrade react-router-dom to 6.2.1

    🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or spam the project. See docs for prhourlylimit for details.


    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 1
Owner
Stefano Magni
Passionate, positive-minded man / senior Front-end engineer / @cypress-io ambassador / instructor / speaker / testing & automation lover / remote worker
Stefano Magni
Chrome extension that uses vulnerabilities CVE-2021-33044 and CVE-2021-33045 to log in to Dahua cameras without authentication.

DahuaLoginBypass Chrome extension that uses vulnerability CVE-2021-33044 to log in to Dahua IP cameras and VTH/VTO (video intercom) devices without au

null 71 Nov 26, 2022
We are students of group named "Special-Team" of GоIT academy. We graduated JavaScript course and for consolidate in practice 📌 knowledges received on this course, we together 🤝 developed graduation project

Проект сайту "Filmoteka" Привіт! ?? Ми студенти групи під назвою "Special-Team" академії GоIT ?? ?? Ми закінчили курс JavaScript і для того, щоб закрі

Oksana Banshchykova 12 Jan 3, 2023
Full-stack-todo-rust-course - we are building this out now in prep for the real course

full-stack-todo-rust-course wip - we are building this out now in prep for the real course Plan Come up with the requirements Create user stories Desi

Brooks Builds 89 Jan 2, 2023
Course material for a ~10 hours introductionary course for Julia. Topics: Introduction, Parallel Programming, Data Science

Development We use Franklin.jl to generate the lecture material. To do so, simply activate the environment, use Franklin and run the local server: act

GregorE 3 Dec 15, 2022
📗🌐 🚢 Comprehensive and exhaustive JavaScript & Node.js testing best practices (August 2021)

?? Why this guide can take your testing skills to the next level ?? 46+ best practices: Super-comprehensive and exhaustive This is a guide for JavaScr

Yoni Goldberg 19.9k Jan 2, 2023
A testing focused Remix Stack, that integrates E2E & Unit testing with Playwright, Vitest, MSW and Testing Library. Driven by Prisma ORM. Deploys to Fly.io

Live Demo · Twitter A testing focused Remix Stack, that integrates E2E & Unit testing with Playwright, Vitest, MSW and Testing Library. Driven by Pris

Remix Stacks 18 Oct 31, 2022
Awesome-Books project uses practical tests for JavaScript/Html and CSS functions.

Awesome-Books project uses practical tests for JavaScript/Html and CSS functions. The project presents a basic website that allows users to add/remove books from a list.

Vahan Kh. 5 Jan 31, 2022
Follow along with blog posts, code samples, and practical exercises to learn how to build serverless applications from your local Integrated development environment (IDE).

Getting started with serverless This getting started series is written by the serverless developer advocate team @AWSCloud. It has been designed for d

AWS Samples 55 Dec 28, 2022
Use real-time computing technology and web technology to build a big data Kanban l to solve the problem. Among them, practical technologies include MySQL, Kafka, Flink, Redis, Flask and Echarts

实时计算(English Version) 运用实时计算技术、Web 技术构建一个大数据看板来解决问题。其中实用技术包括Mysql、Kafka、Flink、Redis、Flask和Echarts 目录 1.问题需求 2.方案分析 3.安装环境 4.环境启动命令和运行代码的方法 5.代码目录结构说明

Serendipity 2 Jan 8, 2022
Timelock Encryption made practical. A Typescript library for encrypting for the future.

tlock-js A typescript library for encrypting data which can only be decrypted at a set time in the future using drand. tlock-js uses AGE to symmetrica

drand 54 Dec 1, 2022