All files / app/search/domain/entities github-search-result.ts

100% Statements 7/7
100% Branches 0/0
100% Functions 5/5
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29              49x 49x       2x   2x     2x       45x       39x      
import { GithubUser } from './github-user';
 
export class GithubSearchResult {
  items: GithubUser[];
  totalCount: number;
 
  constructor(items: GithubUser[], totalCount: number) {
    this.items = items;
    this.totalCount = totalCount;
  }
 
  public static fromApiResponse(response: any): GithubSearchResult {
    const items = response.items.map(
      (item: any) =>
        new GithubUser(item.avatar_url, item.html_url, item.login, item.type)
    );
 
    return new GithubSearchResult(items, response.total_count);
  }
 
  public static fromList(items: GithubUser[]): GithubSearchResult {
    return new GithubSearchResult(items, items.length);
  }
 
  public static empty(): GithubSearchResult {
    return GithubSearchResult.fromList([]);
  }
}