Skip to content

Instantly share code, notes, and snippets.

View cironunes's full-sized avatar
🎯
Focusing

Ciro Nunes cironunes

🎯
Focusing
View GitHub Profile
@cironunes
cironunes / 01-index.html
Last active October 7, 2015 18:19
Simple HTML file to start working with Angular 2 Alpha Preview (Traceur + SystemJS + TypeScript)
<!DOCTYPE html>
<html>
<head>
<title>My First Angular 2 app</title>
</head>
<body>
<my-app>Loading...</my-app>
<!-- dependencies -->
<script src="https://code.angularjs.org/tools/traceur-runtime.js"></script>
@cironunes
cironunes / auth.interceptor.ts
Last active August 9, 2017 20:51
Angular 4.3.0+ Auth HttpInterceptor example
import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpEventType } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
export class AuthInterceptor implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<HttpEventType.Response>> {
const authReq = req.clone({
setHeaders: { Authorization: `Bearer authtest` }
});
@cironunes
cironunes / interceptor.ts
Last active August 9, 2017 18:32
HttpInterceptor interface
interface HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
}
@cironunes
cironunes / app.module.ts
Created August 9, 2017 21:19
How to register an Interceptor into an Angular 4.3.0+ application
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
@NgModule({
imports: [],
providers: [
{ provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }
]
})
export class AppModule {}
@cironunes
cironunes / app.module.ts
Created August 9, 2017 21:19
How to register an Interceptor into an Angular 4.3.0+ application
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
@NgModule({
imports: [],
providers: [
{ provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }
]
})
export class AppModule {}
@cironunes
cironunes / http-example.ts
Created August 10, 2017 16:17
Angular former Http example
// Http
this.users = this.http.get('https://api.github.com/users')
.map(response => response.json())
.subscribe(data => console.log(data));
import { TestBed, getTestBed } from '@angular/core/testing';
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
import { GithubApiService } from './github-api.service';
describe('GithubApiService', () => {
let injector: TestBed;
let service: GithubApiService;
let httpMock: HttpTestingController;
import { Injectable } from '@angular/core';
import { HttpClient, HttpParams } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/throw';
export interface User {
login: string;
}
export interface Issue {}
describe('#getUsers', () => {
it('should return an Observable<User[]>', () => {
const dummyUsers = [
{ login: 'John' },
{ login: 'Doe' }
];
service.getUsers().subscribe(users => {
expect(users.length).toBe(2);
expect(users).toEqual(dummyUsers);
describe('#search', () => {
const dummyParams = new HttpParams().set('q', 'cironunes');
it('should throw an error if trying to search for not supported `what`', () => {
service.search('unknown', dummyParams)
.subscribe(() => {}, err => {
expect(err).toBe(`Searching for unknown is not supported. The available types are: ${service.WHAT.join(', ')}.`);
});
httpMock.expectNone(`${service.API_URL}/search/users?q=cironunes`);