{"id":27555807,"url":"https://github.com/iand1013/javascript-testing-course","last_synced_at":"2025-09-22T21:13:40.375Z","repository":{"id":268494375,"uuid":"901043953","full_name":"IanD1013/javascript-testing-course","owner":"IanD1013","description":"Hands-on project from Mastering JavaScript Unit Testing by Mosh Hamedani. Covers unit testing fundamentals, mocking, code quality, and automation using modern tools like Vitest, TypeScript, ESLint, and Husky.","archived":false,"fork":false,"pushed_at":"2025-04-01T09:18:13.000Z","size":134,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-19T19:25:10.271Z","etag":null,"topics":["self-learning","testing"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IanD1013.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-09T23:59:07.000Z","updated_at":"2025-04-06T04:03:09.000Z","dependencies_parsed_at":"2024-12-17T05:34:08.953Z","dependency_job_id":"cf2ae999-5ad2-42ab-9f94-97269815bee0","html_url":"https://github.com/IanD1013/javascript-testing-course","commit_stats":null,"previous_names":["iand1013/javascript-testing-course"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/IanD1013/javascript-testing-course","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IanD1013%2Fjavascript-testing-course","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IanD1013%2Fjavascript-testing-course/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IanD1013%2Fjavascript-testing-course/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IanD1013%2Fjavascript-testing-course/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IanD1013","download_url":"https://codeload.github.com/IanD1013/javascript-testing-course/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IanD1013%2Fjavascript-testing-course/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261088356,"owners_count":23107683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["self-learning","testing"],"created_at":"2025-04-19T17:11:04.416Z","updated_at":"2025-09-22T21:13:40.367Z","avatar_url":"https://github.com/IanD1013.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JavaScript Testing Course\n\nA comprehensive project demonstrating JavaScript testing practices using modern tools and frameworks. This project is part of the \"Mastering JavaScript Unit Testing\" course by [Mosh Hamedani](https://codewithmosh.com/p/mastering-javascript-unit-testing).\n\n## 📚 About the Course\n\nThis project is a code-along companion to the \"Mastering JavaScript Unit Testing\" course, which is designed to equip you with the skills to write maintainable, robust, and valuable unit tests for your JavaScript applications.\n\n### Course Details\n- **Duration**: 4 Hours\n- **Level**: Beginner to Pro\n- **Lessons**: 70\n- **Instructor**: Mosh Hamedani (20+ years of software engineering experience)\n\n### What You'll Learn\n- Fundamentals of unit testing and its significance in JavaScript development\n- Core techniques including positive, negative, and boundary testing\n- Mocking and dependency isolation\n- Code quality improvement with static analysis tools\n- TypeScript integration for type safety\n- Automated quality checks with Husky\n- VSCode shortcuts for efficient testing\n- Working with matchers and crafting precise assertions\n- Breaking dependencies with mocks\n- Improving code quality with static analysis\n\n### Prerequisites\n- Familiarity with modern JavaScript features (arrow functions, modules, promises, etc.)\n- No prior knowledge of unit testing required\n\nFor the complete course content and more learning resources, visit [Code with Mosh](https://codewithmosh.com/p/mastering-javascript-unit-testing).\n\n## 🚀 Features\n\n- Unit testing with Vitest\n- TypeScript support\n- Code formatting with Prettier\n- Linting with ESLint\n- Git hooks with Husky\n- Code coverage reporting\n- Mocking examples\n\n## 🛠️ Tech Stack\n\n- [Vitest](https://vitest.dev/) - Modern test runner\n- [TypeScript](https://www.typescriptlang.org/) - Type safety\n- [Vite](https://vitejs.dev/) - Build tool\n- [ESLint](https://eslint.org/) - Code linting\n- [Prettier](https://prettier.io/) - Code formatting\n- [Husky](https://typicode.github.io/husky/) - Git hooks\n- [lint-staged](https://github.com/okonet/lint-staged) - Run linters on git staged files\n\n## 📦 Installation\n\n1. Clone the repository:\n```bash\ngit clone [your-repo-url]\ncd javascript-testing-course\n```\n\n2. Install dependencies:\n```bash\nnpm install\n```\n\n## 🧪 Available Scripts\n\n- `npm run dev` - Start development server\n- `npm run build` - Build for production\n- `npm run preview` - Preview production build\n- `npm test` - Run tests\n- `npm run test:ui` - Run tests with UI\n- `npm run coverage` - Generate test coverage report\n- `npm run format` - Format code with Prettier\n- `npm run lint` - Lint code with ESLint\n- `npm run check-types` - Check TypeScript types\n\n## 📚 Project Structure\n\n```\n├── src/\n│   ├── libs/         # Library code\n│   ├── core.js       # Core functionality\n│   ├── intro.js      # Introduction examples\n│   └── mocking.js    # Mocking examples\n├── tests/            # Test files\n├── .husky/           # Git hooks\n└── config files      # Various configuration files\n```\n\n## 🔧 Configuration\n\nThe project uses several configuration files:\n\n- `vitest.config.js` - Vitest configuration\n- `tsconfig.json` - TypeScript configuration\n- `.eslintrc.json` - ESLint configuration\n- `.prettierrc.json` - Prettier configuration\n- `.lintstagedrc.json` - lint-staged configuration","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiand1013%2Fjavascript-testing-course","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiand1013%2Fjavascript-testing-course","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiand1013%2Fjavascript-testing-course/lists"}