diff options
author | 杨宇千 <crupest@outlook.com> | 2019-03-07 21:18:14 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-07 21:18:14 +0800 |
commit | 028af6f786ac2664d301614d57bbff053c3dc9c0 (patch) | |
tree | 6fb1bf8abc6bebdc56e74e73db1e913239e41729 /Timeline/ClientApp/src/app/todo/todo-service/todo.service.spec.ts | |
parent | d4410036b62a65cedbe977efdcea023440a3198e (diff) | |
parent | d5322a3c8c3f3bab25686650a4637dbe480b3886 (diff) | |
download | timeline-028af6f786ac2664d301614d57bbff053c3dc9c0.tar.gz timeline-028af6f786ac2664d301614d57bbff053c3dc9c0.tar.bz2 timeline-028af6f786ac2664d301614d57bbff053c3dc9c0.zip |
Merge pull request #9 from crupest/8-module
Reorganize with modules.
Diffstat (limited to 'Timeline/ClientApp/src/app/todo/todo-service/todo.service.spec.ts')
-rw-r--r-- | Timeline/ClientApp/src/app/todo/todo-service/todo.service.spec.ts | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Timeline/ClientApp/src/app/todo/todo-service/todo.service.spec.ts b/Timeline/ClientApp/src/app/todo/todo-service/todo.service.spec.ts new file mode 100644 index 00000000..b0b35f7b --- /dev/null +++ b/Timeline/ClientApp/src/app/todo/todo-service/todo.service.spec.ts @@ -0,0 +1,54 @@ +import { TestBed } from '@angular/core/testing'; +import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; +import { toArray } from 'rxjs/operators'; + +import { TodoItem } from '../todo-item'; +import { TodoService, IssueResponse } from './todo.service'; + + +describe('TodoService', () => { + beforeEach(() => TestBed.configureTestingModule({ + imports: [HttpClientTestingModule] + })); + + it('should be created', () => { + const service: TodoService = TestBed.get(TodoService); + expect(service).toBeTruthy(); + }); + + it('should work well', () => { + const service: TodoService = TestBed.get(TodoService); + + const baseUrl = service.baseUrl; + + const mockIssueList: IssueResponse = [{ + number: 1, + title: 'Issue title 1', + state: 'open', + html_url: 'test_url1' + }, { + number: 2, + title: 'Issue title 2', + state: 'closed', + html_url: 'test_url2', + pull_request: {} + }]; + + const mockTodoItemList: TodoItem[] = [{ + number: 1, + title: 'Issue title 1', + isClosed: false, + detailUrl: 'test_url1' + }]; + + service.getWorkItemList().pipe(toArray()).subscribe(data => { + expect(data).toEqual(mockTodoItemList); + }); + + const httpController: HttpTestingController = TestBed.get(HttpTestingController); + + httpController.expectOne(request => request.url === baseUrl + '/issues' && request.params.get('state') === 'all').flush(mockIssueList); + + httpController.verify(); + }); +}); |