@@ -4,9 +4,10 @@ import {
4
4
HttpClientTestingModule ,
5
5
HttpTestingController ,
6
6
} from "@angular/common/http/testing" ;
7
- import { COURSES } from "../../../../server/db-data" ;
7
+ import { COURSES , findLessonsForCourse } from "../../../../server/db-data" ;
8
8
import { Course } from "../model/course" ;
9
9
import { HttpErrorResponse } from "@angular/common/http" ;
10
+ import { toNumber } from "cypress/types/lodash" ;
10
11
11
12
describe ( "CoursesService" , ( ) => {
12
13
let coursesService : CoursesService ;
@@ -114,8 +115,37 @@ describe("CoursesService", () => {
114
115
} ) ;
115
116
} ) ;
116
117
118
+ // Testing Http Request with Parameters
119
+ it ( "should find a list of lessons" , ( ) => {
120
+ // Setting up the service call
121
+ coursesService . findLessons ( 12 ) . subscribe ( {
122
+ next : ( lessons ) => {
123
+ // Expectations
124
+ // These are the expectations we expect to have when this request is completed
125
+ expect ( lessons ) . toBeTruthy ( ) ;
126
+ expect ( lessons . length ) . toBe ( 3 ) ;
127
+ } ,
128
+ } ) ;
129
+
130
+ // Mocking the http request
131
+ const request = httpTestingController . expectOne (
132
+ ( request ) => request . url == "/api/lessons"
133
+ ) ;
117
134
118
-
135
+ // Expecations for the request
136
+ expect ( request . request . method ) . toEqual ( "GET" ) ;
137
+ // Check if the request params include the correct params
138
+ expect ( request . request . params . get ( "courseId" ) ) . toEqual ( "12" ) ;
139
+ expect ( request . request . params . get ( "filter" ) ) . toEqual ( "" ) ;
140
+ expect ( request . request . params . get ( "sortOrder" ) ) . toEqual ( "asc" ) ;
141
+ expect ( request . request . params . get ( "pageNumber" ) ) . toEqual ( "0" ) ;
142
+ expect ( request . request . params . get ( "pageSize" ) ) . toEqual ( "3" ) ;
143
+
144
+ // Trigger the request
145
+ request . flush ( {
146
+ payload : findLessonsForCourse ( 12 ) . slice ( 0 , 3 ) ,
147
+ } ) ;
148
+ } ) ;
119
149
120
150
// After each test this will be executed
121
151
afterEach ( ( ) => {
0 commit comments