diff options
Diffstat (limited to 'Timeline/ClientApp/src/app/todo/todo-service')
3 files changed, 0 insertions, 98 deletions
diff --git a/Timeline/ClientApp/src/app/todo/todo-service/http-entities.ts b/Timeline/ClientApp/src/app/todo/todo-service/http-entities.ts deleted file mode 100644 index 3971617c..00000000 --- a/Timeline/ClientApp/src/app/todo/todo-service/http-entities.ts +++ /dev/null @@ -1,11 +0,0 @@ -export const githubBaseUrl = 'https://api.github.com/repos/crupest/Timeline'; - -export interface IssueResponseItem { - number: number; - title: string; - state: string; - html_url: string; - pull_request?: any; -} - -export type IssueResponse = IssueResponseItem[]; 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 deleted file mode 100644 index 679dc8b7..00000000 --- a/Timeline/ClientApp/src/app/todo/todo-service/todo.service.spec.ts +++ /dev/null @@ -1,54 +0,0 @@ -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 } from './todo.service'; -import { IssueResponse, githubBaseUrl } from './http-entities'; - - -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 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 === githubBaseUrl + '/issues' && - request.params.get('state') === 'all').flush(mockIssueList); - - httpController.verify(); - }); -}); diff --git a/Timeline/ClientApp/src/app/todo/todo-service/todo.service.ts b/Timeline/ClientApp/src/app/todo/todo-service/todo.service.ts deleted file mode 100644 index df63636d..00000000 --- a/Timeline/ClientApp/src/app/todo/todo-service/todo.service.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Injectable } from '@angular/core'; -import { HttpClient } from '@angular/common/http'; -import { Observable, from } from 'rxjs'; -import { switchMap, map, filter } from 'rxjs/operators'; - -import { IssueResponse, githubBaseUrl } from './http-entities'; -import { TodoItem } from '../todo-item'; - - -@Injectable({ - providedIn: 'root' -}) -export class TodoService { - - constructor(private client: HttpClient) { } - - getWorkItemList(): Observable<TodoItem> { - return this.client.get<IssueResponse>(`${githubBaseUrl}/issues`, { - params: { - state: 'all' - } - }).pipe( - switchMap(result => from(result)), - filter(result => result.pull_request === undefined), // filter out pull requests. - map(result => <TodoItem>{ - number: result.number, - title: result.title, - isClosed: result.state === 'closed', - detailUrl: result.html_url - }) - ); - } -} |