aboutsummaryrefslogtreecommitdiff
path: root/Timeline/ClientApp/src/app/todo/todo-service
diff options
context:
space:
mode:
Diffstat (limited to 'Timeline/ClientApp/src/app/todo/todo-service')
-rw-r--r--Timeline/ClientApp/src/app/todo/todo-service/http-entities.ts11
-rw-r--r--Timeline/ClientApp/src/app/todo/todo-service/todo.service.spec.ts54
-rw-r--r--Timeline/ClientApp/src/app/todo/todo-service/todo.service.ts33
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
- })
- );
- }
-}