Skip to content

Commit 025d640

Browse files
committed
Angular Testing Course
1 parent af1a437 commit 025d640

11 files changed

+2517
-203
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,4 @@ testem.log
4141
.DS_Store
4242
Thumbs.db
4343
tmp.html
44+
/local-samples

cypress.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"baseUrl": "http://localhost:4200"
3+
}

cypress/fixtures/courses.json

+152
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
{
2+
"payload": [
3+
{
4+
"id": 1,
5+
"titles": {
6+
"description": "Serverless Angular with Firebase Course",
7+
"longDescription": "Serveless Angular with Firestore, Firebase Storage & Hosting, Firebase Cloud Functions & AngularFire"
8+
},
9+
"iconUrl": "https://s3-us-west-1.amazonaws.com/angular-university/course-images/serverless-angular-small.png",
10+
"lessonsCount": 10,
11+
"category": "BEGINNER",
12+
"seqNo": 4,
13+
"url": "serverless-angular"
14+
},
15+
{
16+
"id": 2,
17+
"titles": {
18+
"description": "Angular Core Deep Dive",
19+
"longDescription": "A detailed walk-through of the most important part of Angular - the Core and Common modules"
20+
},
21+
"iconUrl": "https://s3-us-west-1.amazonaws.com/angular-university/course-images/angular-core-in-depth-small.png",
22+
"lessonsCount": 10,
23+
"category": "BEGINNER",
24+
"seqNo": 1,
25+
"url": "angular-core-course"
26+
},
27+
{
28+
"id": 3,
29+
"titles": {
30+
"description": "RxJs In Practice Course",
31+
"longDescription": "Understand the RxJs Observable pattern, learn the RxJs Operators via practical examples"
32+
},
33+
"iconUrl": "https://s3-us-west-1.amazonaws.com/angular-university/course-images/rxjs-in-practice-course.png",
34+
"courseListIcon": "https://angular-academy.s3.amazonaws.com/main-logo/main-page-logo-small-hat.png",
35+
"category": "BEGINNER",
36+
"lessonsCount": 10,
37+
"seqNo": 2,
38+
"url": "rxjs-course"
39+
},
40+
{
41+
"id": 4,
42+
"titles": {
43+
"description": "NgRx In Depth",
44+
"longDescription": "Learn the modern Ngrx Ecosystem, including Store, Effects, Router Store, Ngrx Entity, Dev Tools and Schematics."
45+
},
46+
"iconUrl": "https://s3-us-west-1.amazonaws.com/angular-university/course-images/angular-ngrx-course.png",
47+
"courseListIcon": "https://angular-academy.s3.amazonaws.com/main-logo/main-page-logo-small-hat.png",
48+
"category": "BEGINNER",
49+
"lessonsCount": 10,
50+
"seqNo": 3,
51+
"url": "ngrx-course"
52+
},
53+
{
54+
"id": 5,
55+
"titles": {
56+
"description": "Angular for Beginners",
57+
"longDescription": "Establish a solid layer of fundamentals, learn what's under the hood of Angular"
58+
},
59+
"iconUrl": "https://angular-academy.s3.amazonaws.com/thumbnails/angular2-for-beginners-small-v2.png",
60+
"courseListIcon": "https://angular-academy.s3.amazonaws.com/main-logo/main-page-logo-small-hat.png",
61+
"category": "BEGINNER",
62+
"lessonsCount": 10,
63+
"seqNo": 5,
64+
"url": "angular-for-beginners"
65+
},
66+
{
67+
"id": 6,
68+
"titles": {
69+
"description": "Angular Security Course - Web Security Fundamentals",
70+
"longDescription": "Learn Web Security Fundamentals and apply them to defend an Angular / Node Application from multiple types of attacks."
71+
},
72+
"iconUrl": "https://s3-us-west-1.amazonaws.com/angular-university/course-images/security-cover-small-v2.png",
73+
"courseListIcon": "https://s3-us-west-1.amazonaws.com/angular-university/course-images/lock-v2.png",
74+
"category": "ADVANCED",
75+
"lessonsCount": 11,
76+
"seqNo": 6,
77+
"url": "angular-security-course"
78+
},
79+
{
80+
"id": 7,
81+
"titles": {
82+
"description": "Angular PWA - Progressive Web Apps Course",
83+
"longDescription": "Learn Angular Progressive Web Applications, build the future of the Web Today."
84+
},
85+
"iconUrl": "https://s3-us-west-1.amazonaws.com/angular-university/course-images/angular-pwa-course.png",
86+
"courseListIcon": "https://s3-us-west-1.amazonaws.com/angular-university/course-images/alien.png",
87+
"category": "ADVANCED",
88+
"lessonsCount": 8,
89+
"seqNo": 7,
90+
"url": "angular-pwa-course"
91+
},
92+
{
93+
"id": 8,
94+
"titles": {
95+
"description": "Angular Advanced Library Laboratory: Build Your Own Library",
96+
"longDescription": "Learn Advanced Angular functionality typically used in Library Development. Advanced Components, Directives, Testing, Npm"
97+
},
98+
"iconUrl": "https://angular-academy.s3.amazonaws.com/thumbnails/advanced_angular-small-v3.png",
99+
"courseListIcon": "https://angular-academy.s3.amazonaws.com/thumbnails/angular-advanced-lesson-icon.png",
100+
"category": "ADVANCED",
101+
"seqNo": 8,
102+
"url": "angular-advanced-course"
103+
},
104+
{
105+
"id": 9,
106+
"titles": {
107+
"description": "The Complete Typescript Course",
108+
"longDescription": "Complete Guide to Typescript From Scratch: Learn the language in-depth and use it to build a Node REST API."
109+
},
110+
"iconUrl": "https://angular-academy.s3.amazonaws.com/thumbnails/typescript-2-small.png",
111+
"courseListIcon": "https://angular-academy.s3.amazonaws.com/thumbnails/typescript-2-lesson.png",
112+
"category": "BEGINNER",
113+
"seqNo": 9,
114+
"url": "typescript-course"
115+
},
116+
{
117+
"id": 10,
118+
"titles": {
119+
"description": "Rxjs and Reactive Patterns Angular Architecture Course",
120+
"longDescription": "Learn the core RxJs Observable Pattern as well and many other Design Patterns for building Reactive Angular Applications."
121+
},
122+
"iconUrl": "https://s3-us-west-1.amazonaws.com/angular-academy/blog/images/rxjs-reactive-patterns-small.png",
123+
"courseListIcon": "https://angular-academy.s3.amazonaws.com/course-logos/observables_rxjs.png",
124+
"category": "BEGINNER",
125+
"seqNo": 10,
126+
"url": "rxjs-patterns-course"
127+
},
128+
{
129+
"id": 11,
130+
"titles": {
131+
"description": "Angular Material Course",
132+
"longDescription": "Build Applications with the official Angular Widget Library"
133+
},
134+
"iconUrl": "https://s3-us-west-1.amazonaws.com/angular-university/course-images/material_design.png",
135+
"category": "BEGINNER",
136+
"seqNo": 11,
137+
"url": "angular-material-course"
138+
},
139+
{
140+
"id": 12,
141+
"titles": {
142+
"description": "Angular Testing Course",
143+
"longDescription": "In-depth guide to Unit Testing and E2E Testing of Angular Applications"
144+
},
145+
"iconUrl": "https://s3-us-west-1.amazonaws.com/angular-university/course-images/angular-testing-small.png",
146+
"category": "BEGINNER",
147+
"seqNo": 0,
148+
"url": "angular-testing-course",
149+
"lessonsCount": 10
150+
}
151+
]
152+
}

cypress/fixtures/testing-course.json

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"id": 12,
3+
"titles": {
4+
"description": "Angular Testing Course",
5+
"longDescription": "In-depth guide to Unit Testing and E2E Testing of Angular Applications"
6+
},
7+
"iconUrl": "https://s3-us-west-1.amazonaws.com/angular-university/course-images/angular-testing-small.png",
8+
"category": "BEGINNER",
9+
"seqNo": 0,
10+
"url": "angular-testing-course",
11+
"lessonsCount": 10
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"payload": [
3+
{
4+
"id": 40,
5+
"description": "Angular Testing Course - Helicopter View",
6+
"duration": "5:38",
7+
"seqNo": 1,
8+
"courseId": 12
9+
},
10+
{
11+
"id": 41,
12+
"description": "Setting Up the Development Environment",
13+
"duration": "5:12",
14+
"seqNo": 2,
15+
"courseId": 12
16+
},
17+
{
18+
"id": 42,
19+
"description": "Introduction to Jasmine, Spies and specs",
20+
"duration": "4:07",
21+
"seqNo": 3,
22+
"courseId": 12
23+
}
24+
]
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"payload": [
3+
{
4+
"id": 43,
5+
"description": "Introduction to Service Testing",
6+
"duration": "7:32",
7+
"seqNo": 4,
8+
"courseId": 12
9+
},
10+
{
11+
"id": 44,
12+
"description": "Settting up the Angular TestBed",
13+
"duration": "6:28",
14+
"seqNo": 5,
15+
"courseId": 12
16+
},
17+
{
18+
"id": 45,
19+
"description": "Mocking Angular HTTP requests",
20+
"duration": "4:38",
21+
"seqNo": 6,
22+
"courseId": 12
23+
}
24+
]
25+
}

cypress/plugins/index.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// ***********************************************************
2+
// This example plugins/index.js can be used to load plugins
3+
//
4+
// You can change the location of this file or turn off loading
5+
// the plugins file with the 'pluginsFile' configuration option.
6+
//
7+
// You can read more here:
8+
// https://on.cypress.io/plugins-guide
9+
// ***********************************************************
10+
11+
// This function is called when a project is opened or re-opened (e.g. due to
12+
// the project's config changing)
13+
14+
module.exports = (on, config) => {
15+
// `on` is used to hook into various events Cypress emits
16+
// `config` is the resolved Cypress config
17+
}

cypress/support/commands.js

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// ***********************************************
2+
// This example commands.js shows you how to
3+
// create various custom commands and overwrite
4+
// existing commands.
5+
//
6+
// For more comprehensive examples of custom
7+
// commands please read more here:
8+
// https://on.cypress.io/custom-commands
9+
// ***********************************************
10+
//
11+
//
12+
// -- This is a parent command --
13+
// Cypress.Commands.add("login", (email, password) => { ... })
14+
//
15+
//
16+
// -- This is a child command --
17+
// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... })
18+
//
19+
//
20+
// -- This is a dual command --
21+
// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... })
22+
//
23+
//
24+
// -- This is will overwrite an existing command --
25+
// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })

cypress/support/index.js

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// ***********************************************************
2+
// This example support/index.js is processed and
3+
// loaded automatically before your test files.
4+
//
5+
// This is a great place to put global configuration and
6+
// behavior that modifies Cypress.
7+
//
8+
// You can change the location of this file or turn off
9+
// automatically serving support files with the
10+
// 'supportFile' configuration option.
11+
//
12+
// You can read more here:
13+
// https://on.cypress.io/configuration
14+
// ***********************************************************
15+
16+
// Import commands.js using ES2015 syntax:
17+
import './commands'
18+
19+
// Alternatively you can use CommonJS syntax:
20+
// require('./commands')

0 commit comments

Comments
 (0)