Exemple #1
0
describe('LoadingService', () => {

	let tcb;

	beforeEach(inject([TestComponentBuilder], _tcb => {
		tcb = _tcb
	}));

	setBaseTestProviders(TEST_BROWSER_PLATFORM_PROVIDERS, TEST_BROWSER_APPLICATION_PROVIDERS);

	it('should generate a template for loading spinner', done => {
		return tcb.createAsync(LoadingIndicator).then(fixture => {
			let element = fixture.nativeElement;
			fixture.detectChanges(); //trigger change detection

			expect(element.querySelector('div')).not.toBeNull();
			expect(element.querySelector('div').className).toBe('loading');

			expect(element.querySelector('div').querySelector('div')).not.toBeNull();
			expect(element.querySelector('div').querySelector('div').className).toBe('loading-message');

			expect(element.querySelector('div').querySelector('div').querySelector('paper-spinner')).not.toBeNull();
			removeLoading();
			done();
		})
			.catch(e => done.fail(e));
	});


});
	initialSetup(){
		if(BasicTestSetup.isInitialized){
			return;
		}
		BasicTestSetup.isInitialized = true;
		// reflector.reflectionCapabilities = new ReflectionCapabilities();
		setBaseTestProviders(TEST_BROWSER_PLATFORM_PROVIDERS, TEST_BROWSER_APPLICATION_PROVIDERS);
		// beforeEach configuration:
		// - clear the bindings before each test,
		// - collect the bindings before each test, see beforeEachProviders(),
		// - create the test injector to be used in beforeEach() and it()

		// gns.beforeEach(() {
		// 	_testInjector.reset();
		// 	_currentTestFuture = null;
		// });

		// var completerProvider = bind(AsyncTestCompleter).toFactory(() {
		// 	// Mark the test as async when an AsyncTestCompleter is injected in an it(),
		// 	if (!_inIt) throw 'AsyncTestCompleter can only be injected in an "it()"';
		// 	_isCurrentTestAsync = true;
		// 	return new AsyncTestCompleter();
		// });

		// gns.beforeEach(() {
		// 	_isCurrentTestAsync = false;
		// 	_testInjector.addProviders([completerProvider]);
		// });
	}
describe('MyList Tests', () => {
    setBaseTestProviders(TEST_BROWSER_PLATFORM_PROVIDERS, TEST_BROWSER_APPLICATION_PROVIDERS);

    beforeEachProviders(() => {
        return [
            HTTP_PROVIDERS,
            provide(XHRBackend, {useClass: MockBackend}),
            MyService
        ]
    });

    it('Should create a component MyList',
        injectAsync([XHRBackend, MyService, TestComponentBuilder], (backend, service, tcb) => {
            backend.connections.subscribe(
                (connection:MockConnection) => {
                    var options = new ResponseOptions({
                        body: [
                            {
                                "login": "******",
                                "id": 1,
                                "avatar_url": "https://avatars.githubusercontent.com/u/1?v=3",
                                "gravatar_id": "",
                                "url": "https://api.github.com/users/mojombo",
                                "html_url": "https://github.com/mojombo",
                                "followers_url": "https://api.github.com/users/mojombo/followers",
                                "following_url": "https://api.github.com/users/mojombo/following{/other_user}",
                                "gists_url": "https://api.github.com/users/mojombo/gists{/gist_id}",
                                "starred_url": "https://api.github.com/users/mojombo/starred{/owner}{/repo}",
                                "subscriptions_url": "https://api.github.com/users/mojombo/subscriptions",
                                "organizations_url": "https://api.github.com/users/mojombo/orgs",
                                "repos_url": "https://api.github.com/users/mojombo/repos",
                                "events_url": "https://api.github.com/users/mojombo/events{/privacy}",
                                "received_events_url": "https://api.github.com/users/mojombo/received_events",
                                "type": "User",
                                "site_admin": false
                            }
                        ]
                    });

                    var response = new Response(options);

                    connection.mockRespond(response);
                }
            );

            return tcb
                .createAsync(TestMyList)
                .then((fixture) => {
                    fixture.detectChanges();
                    var compiled = fixture.debugElement.nativeElement;

                    expect(compiled.innerHTML).toContain('Mojombo');
                });
        })
    );
});
describe('Employee Detail Tests', () => {
    resetBaseTestProviders();
    setBaseTestProviders(
        TEST_BROWSER_PLATFORM_PROVIDERS,
        TEST_BROWSER_APPLICATION_PROVIDERS
    );
    beforeEachProviders(() => {
        return [
            ROUTER_DIRECTIVES,
            ROUTER_PROVIDERS,
            HTTP_PROVIDERS,
            EmployeeDetailServiceComponent,
            EmployeeDeleteServiceComponent,
            provide(XHRBackend, {useClass: MockBackend}),
            provide(APP_BASE_HREF, {useValue: '/'}),
            provide(ROUTER_PRIMARY_COMPONENT, {useValue: AppComponent}),
            provide(ApplicationRef, {useClass: MockApplicationRef}),
            RouteRegistry,
            provide(Location, {useClass: SpyLocation}),
            provide(Router, {useClass: RootRouter}),
            provide(RouteParams, { useValue: new RouteParams({ id: '1' }) })
        ]
    });

    it('Should display the list of employees',
        injectAsync([XHRBackend, TestComponentBuilder], (backend, tcb) => {
            backend.connections.subscribe(
                (connection:MockConnection) => {
                    var options = new ResponseOptions({
                        body: {
                            "id": 1,
                            "name": "Roshan Shrestha"
                        }
                    });

                    var response = new Response(options);

                    connection.mockRespond(response);
                }
            );

            return tcb
                .createAsync(TestMyDetail)
                .then((fixture) => {
                    fixture.detectChanges();
                    var compiled = fixture.nativeElement;
                    expect(compiled.innerHTML).toContain('Roshan Shrestha');

                    var src = (new BrowserDomAdapter()).getProperty(compiled.querySelector('a'), 'href');

                    // Employee link expectation
                    expect(src).toBe('http://localhost:9876/employee/1/edit');
                });
        })
    );
});
describe('todo_component', () => {
  setBaseTestProviders(TEST_BROWSER_PLATFORM_PROVIDERS, TEST_BROWSER_APPLICATION_PROVIDERS);

  beforeEachProviders(() => [provide(TodoService, {useClass: MockTodoService})]);

  describe('creation', () => {
    it('should create the component correctly', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
      return tcb.createAsync(TodoCmp).then((fixture) => {
        fixture.detectChanges();

        let compiled = fixture.debugElement.nativeElement;

        expect(compiled).toBeDefined();
      });
    }));

    it('should inicialize the cmp correctly', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
      return tcb.createAsync(TodoCmp).then((fixture) => {
        let instance = fixture.debugElement.componentInstance;

        spyOn(instance, '_getAll').and.callFake(() => {});

        fixture.detectChanges();

        expect(instance._getAll).toHaveBeenCalled();
      });
    }));

    it('should call add correctly', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
      return tcb.createAsync(TodoCmp).then((fixture) => {
        fixture.detectChanges();

        let instance = fixture.debugElement.componentInstance;

        let _todoMsg = 'yo';

        instance.add(_todoMsg);
      });
    }));

    it('should call remove correctly', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
      return tcb.createAsync(TodoCmp).then((fixture) => {
        fixture.detectChanges();

        let instance = fixture.debugElement.componentInstance;

        let _id = 'abc123';

        instance.remove(_id);
      });
    }));
  });
});
describe('Employee Edit Form Tests', () => {
    resetBaseTestProviders();
    setBaseTestProviders(
        TEST_BROWSER_PLATFORM_PROVIDERS,
        TEST_BROWSER_APPLICATION_PROVIDERS
    );
    beforeEachProviders(() => {
        return [
            ROUTER_DIRECTIVES,
            ROUTER_PROVIDERS,
            HTTP_PROVIDERS,
            EmployeeEditFormComponent,
            EmployeeDetailServiceComponent,
            EmployeeEditFormServiceComponent,
            provide(XHRBackend, {useClass: MockBackend}),
            provide(APP_BASE_HREF, {useValue: '/'}),
            provide(ROUTER_PRIMARY_COMPONENT, {useValue: AppComponent}),
            provide(ApplicationRef, {useClass: MockApplicationRef}),
            RouteRegistry,
            provide(Location, {useClass: SpyLocation}),
            provide(Router, {useClass: RootRouter}),
            provide(RouteParams, { useValue: new RouteParams({ id: '1' }) })
        ]
    });

    it('Should display the edit form of employees',
        injectAsync([XHRBackend, TestComponentBuilder], (backend, tcb) => {
            backend.connections.subscribe(
                (connection:MockConnection) => {
                    var options = new ResponseOptions({
                        body: {
                            "id": 1,
                            "name": "Roshan Shrestha"
                        }
                    });

                    var response = new Response(options);

                    connection.mockRespond(response);
                }
            );

            return tcb
                .createAsync(TestMyEditForm)
                .then((fixture) => {
                    fixture.detectChanges();
                    var compiled = fixture.nativeElement;
                    expect(compiled.innerHTML).toContain('Employee Edit Form');
                });
        })
    );
});
describe('Threads page test', () => {
    setBaseTestProviders(TEST_BROWSER_PLATFORM_PROVIDERS, TEST_BROWSER_APPLICATION_PROVIDERS);
    let component: ThreadListComponent;
    var mockService: any;
    var response: any;

    beforeEach((done: Function) => {
        response = jasmine.createSpyObj("response", ["json"]);
        mockService = jasmine.createSpyObj("mockService", ["getService"]);

        var json = { "_embedded": { "threads": [{ "id": 1, "countOfPosts": 1, "title": "Spring MVC form Validation: How to remove these lines from getting displayed", "_links": { "self": { "href": "http://localhost:8080/forum-spring-angular/rest/thread/1" } } }, { "id": 2, "countOfPosts": 1, "title": "Spring Data JPA aggregation group by period of time", "_links": { "self": { "href": "http://localhost:8080/forum-spring-angular/rest/thread/2" } } }, { "id": 3, "countOfPosts": 1, "title": "How to find all revisions for an entity using spring data envers?", "_links": { "self": { "href": "http://localhost:8080/forum-spring-angular/rest/thread/3" } } }] }, "_links": { "self": { "href": "http://localhost:8080/forum-spring-angular/rest/thread" } }, "page": { "size": 20, "totalElements": 5, "totalPages": 1, "number": 0 } };
        response.json.and.returnValue(json);
        mockService.getService.and.callFake(function(param: string) {
            return new Promise(function(resolve, reject) { if (true) { resolve(response); } });
        });
        done();
    });

    beforeEachProviders(() => [
        provide(RouteParams, { useValue: mockService }),
        provide(RestService, { useValue: mockService })
    ]);

    it('should be able to test', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
        return tcb.createAsync(ThreadListComponent).then((fixture) => {
            fixture.detectChanges();
            expect(mockService.getService).toHaveBeenCalled();
            return fixture;
        }).then(fixture => {
            expect(response.json).toHaveBeenCalled();
            fixture.detectChanges();

            var results = fixture.debugElement.nativeElement.querySelectorAll("div.wrap-ut");
            expect(results.length).toBe(3);
            expect(results[0].querySelector('link-to a').innerHTML).toBe('Spring MVC form Validation: How to remove these lines from getting displayed');
        });
    }));

    it('Should capitalize all words in a string', () => {
        var result = 'Golden Retriever';
        expect(result).toEqual('Golden Retriever');
    });
});
import { TEST_BROWSER_PLATFORM_PROVIDERS, TEST_BROWSER_APPLICATION_PROVIDERS} from 'angular2/platform/testing/browser';
import { setBaseTestProviders } from 'angular2/testing';
import { IonicApp, Platform, MenuController }   from 'ionic-angular';
import { MyApp }           from './app';

// this needs doing _once_ for the entire test suite, hence it's here
setBaseTestProviders(TEST_BROWSER_PLATFORM_PROVIDERS, TEST_BROWSER_APPLICATION_PROVIDERS);

let redditApp : MyApp = null;

function getComponentStub(name: string): any {
  'use strict';

  let component: Object = {
    setRoot: function(): boolean { return true; },
    close: function(root: any): boolean { return true; },
  };
  return component;
}

export function main(): void {
  'use strict';

  describe('MyApp', () => {

    beforeEach(() => {
      let ionicApp: IonicApp = new IonicApp(null, null, null);
      let platform: Platform = new Platform();
      let menuController: MenuController = new MenuController();
      redditApp = new MyApp(ionicApp, platform, menuController);
    });
Exemple #9
0
import 'es6-shim';
import 'zone.js';
import 'reflect-metadata';

import {setBaseTestProviders} from 'angular2/testing';
import {TEST_BROWSER_PLATFORM_PROVIDERS, TEST_BROWSER_APPLICATION_PROVIDERS} from 'angular2/platform/testing/browser';
import {UrlResolver} from 'angular2/compiler';
import {provide} from 'angular2/core';


setBaseTestProviders(
	TEST_BROWSER_PLATFORM_PROVIDERS,
	TEST_BROWSER_APPLICATION_PROVIDERS.concat([
		provide(UrlResolver, {useFactory: () => new FakeUrlResolver()})
	])
);


class FakeUrlResolver extends UrlResolver {
	constructor() {
		super();
	}
	resolve(baseUrl: string, url: string): string {
		// We do not attempt to load any CSS,
		// as it is irrelevant during unit tests.
		if (url.substr(-4) === '.css') {
			return '';
		}
		return super.resolve(baseUrl, url);
	}
}
Exemple #10
0
 beforeAll(() => {
     setBaseTestProviders(TEST_BROWSER_PLATFORM_PROVIDERS, TEST_BROWSER_APPLICATION_PROVIDERS);
 });