From 1fa4fdeaf2a3b6007f6b8730ff877c5e8f339b00 Mon Sep 17 00:00:00 2001 From: Abner Oliveira Date: Wed, 16 Mar 2016 09:35:29 -0300 Subject: [PATCH] fixed webpack errors and warnings --- dev-scripts/fix-jqlite.ts | 13 +++++++++++++ package.json | 10 ++++++---- src/app/components/auth/auth_service.spec.ts | 2 +- src/app/components/language-selector/language-selector.component.spec.ts | 2 +- src/app/components/language-selector/language-selector.component.ts | 2 +- src/app/components/navbar/navbar.spec.ts | 2 +- src/app/components/noosfero-articles/blog/blog.component.spec.ts | 4 ++-- src/app/components/noosfero-articles/blog/blog.component.ts | 6 +++--- src/app/components/noosfero-blocks/link-list/link-list.component.spec.ts | 2 +- src/app/components/noosfero-blocks/main-block/main-block.component.spec.ts | 5 ++--- src/app/components/noosfero-blocks/main-block/main-block.component.ts | 2 +- src/app/components/noosfero-blocks/profile-image-block/profile-image-block.component.spec.ts | 4 ++-- src/app/components/noosfero-blocks/profile-image-block/profile-image-block.component.ts | 2 +- src/app/components/noosfero-blocks/recent-documents/recent-documents.component.spec.ts | 61 ++++++++++++++++++++++++++++++++++++++++++++----------------- src/app/components/noosfero-blocks/recent-documents/recent-documents.component.ts | 4 ++-- src/app/components/noosfero-boxes/boxes.component.spec.ts | 7 +++---- src/app/components/noosfero/noosfero-template.filter.ts | 2 +- src/app/components/noosfero/profile-image/profile-image.component.spec.ts | 26 +++++++++++++------------- src/app/components/noosfero/profile-image/profile-image.component.ts | 2 +- src/app/content-viewer/content-viewer.component.spec.ts | 8 ++++---- src/app/content-viewer/content-viewer.component.ts | 2 +- src/lib/ng-noosfero-api/http/article.service.ts | 9 +++++++-- src/lib/ng-noosfero-api/http/restangular_service.spec.ts | 8 ++++---- src/lib/ng-noosfero-api/http/restangular_service.ts | 15 +++++++-------- src/lib/ng-noosfero-api/interfaces/articles_result.ts | 12 ------------ src/lib/ng-noosfero-api/interfaces/rest_model.ts | 2 +- src/lib/ng-noosfero-api/interfaces/rest_result.ts | 2 +- src/spec/mocks.ts | 13 ++++++++++++- 28 files changed, 136 insertions(+), 93 deletions(-) create mode 100644 dev-scripts/fix-jqlite.ts delete mode 100644 src/lib/ng-noosfero-api/interfaces/articles_result.ts diff --git a/dev-scripts/fix-jqlite.ts b/dev-scripts/fix-jqlite.ts new file mode 100644 index 0000000..89e3b29 --- /dev/null +++ b/dev-scripts/fix-jqlite.ts @@ -0,0 +1,13 @@ +let replace = require("replace"); + +import * as path from "path"; + +let wrong_jqlite_d_ts_file = path.join(__dirname, "../node_modules/ng-forward/cjs/util/jqlite-extensions.d.ts"); + +replace({ + regex: /import JQuery from \".\/\";/, + replacement: "", + paths: [wrong_jqlite_d_ts_file], + sillent: false +}); + diff --git a/package.json b/package.json index 561fe3e..ec1d6c0 100644 --- a/package.json +++ b/package.json @@ -4,20 +4,22 @@ "dependencies": { "angular": "^1.5.0", "angular-mock": "^1.0.0", - "moment": "^2.11.2" + "moment": "^2.11.2", + "ng-forward": "0.0.1-alpha.12" }, "scripts": { "build": "webpack; gulp build", "webpack": "webpack", - "karma": "karma", + "karma": "concurrently \"webpack -w\" \"karma start\"", "coverage": "karma start --single-run; npm run remap-coverage", "remap-coverage": "ts-node --project ./dev-scripts ./dev-scripts/remapCoverage.ts", "test-single": "karma start --single-run", "test-and-coverage": "karma start & npm run remap-coverage", "test": "webpack -w --test", - "postinstall": "npm install -g bower && bower install && typings install && cd dev-scripts && typings install", + "postinstall": "npm install -g bower; bower install; typings install; npm run fix-jqlite; cd dev-scripts; typings install", "start": "concurrently \"webpack -w\" \"gulp serve\"", - "generate-indexes": "ts-node --project ./dev-scripts ./dev-scripts/generate-index-modules.ts" + "generate-indexes": "ts-node --project ./dev-scripts ./dev-scripts/generate-index-modules.ts", + "fix-jqlite": "ts-node --project ./dev-scripts dev-scripts/fix-jqlite.ts" }, "devDependencies": { "browser-sync": "~2.9.11", diff --git a/src/app/components/auth/auth_service.spec.ts b/src/app/components/auth/auth_service.spec.ts index 4fb8a97..90f7954 100644 --- a/src/app/components/auth/auth_service.spec.ts +++ b/src/app/components/auth/auth_service.spec.ts @@ -55,7 +55,7 @@ describe("Services", () => { let eventEmmited: boolean = false; $rootScope.$on(AUTH_EVENTS.loginSuccess, (event: ng.IAngularEvent, userThroughEvent: User) => { eventEmmited = true; - expect(userThroughEvent).toEqual(user) + expect(userThroughEvent).toEqual(user); }); $httpBackend.flush(); diff --git a/src/app/components/language-selector/language-selector.component.spec.ts b/src/app/components/language-selector/language-selector.component.spec.ts index f1da99f..4a91f16 100644 --- a/src/app/components/language-selector/language-selector.component.spec.ts +++ b/src/app/components/language-selector/language-selector.component.spec.ts @@ -30,7 +30,7 @@ describe("Components", () => { }) ].concat(helpers.provideFilters("translateFilter")) }); - } + }; it("set available languages when change language", (done) => { let component: LanguageSelector = new LanguageSelector( diff --git a/src/app/components/language-selector/language-selector.component.ts b/src/app/components/language-selector/language-selector.component.ts index 87c6060..0ec8668 100644 --- a/src/app/components/language-selector/language-selector.component.ts +++ b/src/app/components/language-selector/language-selector.component.ts @@ -41,7 +41,7 @@ export class LanguageSelector { private changeMomentLocale(language: string) { let localePromise = Promise.resolve(); - if (language != "en") { + if (language !== "en") { localePromise = this.angularLoad.loadScript(`/bower_components/moment/locale/${language}.js`); } localePromise.then(() => { diff --git a/src/app/components/navbar/navbar.spec.ts b/src/app/components/navbar/navbar.spec.ts index 3ab284d..52dfe45 100644 --- a/src/app/components/navbar/navbar.spec.ts +++ b/src/app/components/navbar/navbar.spec.ts @@ -88,7 +88,7 @@ describe("Components", () => { directives: [Navbar], template: '' }); - } + }; it('should get the loggedIn user', (done: Function) => { diff --git a/src/app/components/noosfero-articles/blog/blog.component.spec.ts b/src/app/components/noosfero-articles/blog/blog.component.spec.ts index c451c43..04721d4 100644 --- a/src/app/components/noosfero-articles/blog/blog.component.spec.ts +++ b/src/app/components/noosfero-articles/blog/blog.component.spec.ts @@ -73,14 +73,14 @@ describe("Blog Component", () => { // the templates to the templateCache into the module templates // we need to load the module templates here as the template for the // component Noosfero ArtileView will be load on our tests - angular.mock.module("templates") + angular.mock.module("templates"); providers((provide: any) => { return [ provide('ArticleService', { useValue: articleService }) - ] + ]; }); }); diff --git a/src/app/components/noosfero-articles/blog/blog.component.ts b/src/app/components/noosfero-articles/blog/blog.component.ts index 0d9a7e2..b27aa11 100644 --- a/src/app/components/noosfero-articles/blog/blog.component.ts +++ b/src/app/components/noosfero-articles/blog/blog.component.ts @@ -13,7 +13,7 @@ export class ArticleBlog { @Input() article: noosfero.Article; @Input() profile: Profile; - private posts: any[]; + private posts: noosfero.Article[]; private perPage: number = 3; private currentPage: number; private totalPosts: number = 0; @@ -33,9 +33,9 @@ export class ArticleBlog { this.articleService .getChildren(this.article, filters) - .then((result: noosfero.RestResult) => { + .then((result: noosfero.RestResult) => { this.totalPosts = result.headers("total"); - this.posts = result.data; + this.posts = result.data; }); } diff --git a/src/app/components/noosfero-blocks/link-list/link-list.component.spec.ts b/src/app/components/noosfero-blocks/link-list/link-list.component.spec.ts index 3283172..1964548 100644 --- a/src/app/components/noosfero-blocks/link-list/link-list.component.spec.ts +++ b/src/app/components/noosfero-blocks/link-list/link-list.component.spec.ts @@ -28,7 +28,7 @@ describe("Components", () => { } // uses the TestComponentBuilder instance to initialize the component - //.overrideView(LinkListBlock, { template: 'asdasdasd', pipes: [NoosferoTemplate] }) + // .overrideView(LinkListBlock, { template: 'asdasdasd', pipes: [NoosferoTemplate] }) tcb.createAsync(BlockContainerComponent).then(fixture => { // and here we can inspect and run the test assertions let myComponent: LinkListBlock = fixture.componentInstance; diff --git a/src/app/components/noosfero-blocks/main-block/main-block.component.spec.ts b/src/app/components/noosfero-blocks/main-block/main-block.component.spec.ts index 6a386ad..e74671a 100644 --- a/src/app/components/noosfero-blocks/main-block/main-block.component.spec.ts +++ b/src/app/components/noosfero-blocks/main-block/main-block.component.spec.ts @@ -28,14 +28,13 @@ describe("Components", () => { // uses the TestComponentBuilder instance to initialize the component tcb.createAsync(BlockContainerComponent).then(fixture => { // and here we can inspect and run the test assertions - //let myComponent: MainBlock = fixture.componentInstance; + // let myComponent: MainBlock = fixture.componentInstance; // assure the block object inside the Block matches // the provided through the parent component - expect(fixture.debugElement.queryAll('[ui-view="mainBlockContent"]').length).toEqual(1) + expect(fixture.debugElement.queryAll('[ui-view="mainBlockContent"]').length).toEqual(1); done(); }); }); - }); }); \ No newline at end of file diff --git a/src/app/components/noosfero-blocks/main-block/main-block.component.ts b/src/app/components/noosfero-blocks/main-block/main-block.component.ts index d9831a0..3d334a2 100644 --- a/src/app/components/noosfero-blocks/main-block/main-block.component.ts +++ b/src/app/components/noosfero-blocks/main-block/main-block.component.ts @@ -1,4 +1,4 @@ -import {Component, Input} from 'ng-forward' +import {Component, Input} from 'ng-forward'; import {Block} from '../block.component'; @Component({ diff --git a/src/app/components/noosfero-blocks/profile-image-block/profile-image-block.component.spec.ts b/src/app/components/noosfero-blocks/profile-image-block/profile-image-block.component.spec.ts index 9b917a4..6832be7 100644 --- a/src/app/components/noosfero-blocks/profile-image-block/profile-image-block.component.spec.ts +++ b/src/app/components/noosfero-blocks/profile-image-block/profile-image-block.component.spec.ts @@ -30,14 +30,14 @@ describe("Components", () => { it("show image if present", () => { helpers.tcb.createAsync(BlockContainerComponent).then(fixture => { - var elProfile = fixture.debugElement.componentViewChildren[0]; + let elProfile = fixture.debugElement.componentViewChildren[0]; expect(elProfile.query('div.profile-image-block').length).toEqual(1); }); }); it("has link to the profile", () => { helpers.tcb.createAsync(BlockContainerComponent).then(fixture => { - var elProfile = fixture.debugElement.componentViewChildren[0]; + let elProfile = fixture.debugElement.componentViewChildren[0]; expect(elProfile.query('a.settings-link').length).toEqual(1); }); }); diff --git a/src/app/components/noosfero-blocks/profile-image-block/profile-image-block.component.ts b/src/app/components/noosfero-blocks/profile-image-block/profile-image-block.component.ts index f33528a..b2254b1 100644 --- a/src/app/components/noosfero-blocks/profile-image-block/profile-image-block.component.ts +++ b/src/app/components/noosfero-blocks/profile-image-block/profile-image-block.component.ts @@ -10,5 +10,5 @@ export class ProfileImageBlock { @Input() block: any; @Input() owner: any; - + } diff --git a/src/app/components/noosfero-blocks/recent-documents/recent-documents.component.spec.ts b/src/app/components/noosfero-blocks/recent-documents/recent-documents.component.spec.ts index fc790c9..54a9674 100644 --- a/src/app/components/noosfero-blocks/recent-documents/recent-documents.component.spec.ts +++ b/src/app/components/noosfero-blocks/recent-documents/recent-documents.component.spec.ts @@ -10,30 +10,42 @@ const tcb = new TestComponentBuilder(); describe("Components", () => { describe("Recent Documents Block Component", () => { + let settingsObj = {}; + let mockedArticleService = { + getByProfile: (profile: noosfero.Profile, filters: any): any => { + return Promise.resolve({ data: [{ name: "article1" }], headers: (name: string) => { return name; } }); + } + }; + let profile = { name: 'profile-name' }; beforeEach(angular.mock.module("templates")); let state = jasmine.createSpyObj("state", ["go"]); - let providers = [ - new Provider('$state', { useValue: state }), - new Provider('ArticleService', { - useValue: { - getByProfile: (profileId: number, filters: any): any => { - return Promise.resolve({ data: [{ name: "article1" }] , headers: (name: string) => {return name;}}); - } + + + function getProviders() { + return [ + new Provider('$state', { useValue: state }), + new Provider('ArticleService', { + useValue: mockedArticleService + }), + ].concat(provideFilters("truncateFilter", "stripTagsFilter")); + } + let componentClass: any = null; + + function getComponent() { + @Component({ selector: 'test-container-component', template: htmlTemplate, directives: [RecentDocumentsBlock], providers: getProviders() }) + class BlockContainerComponent { + block = { type: 'Block', settings: settingsObj }; + owner = profile; + constructor() { } - }), - ].concat(provideFilters("truncateFilter", "stripTagsFilter")); - - @Component({ selector: 'test-container-component', template: htmlTemplate, directives: [RecentDocumentsBlock], providers: providers }) - class BlockContainerComponent { - block = { type: 'Block', settings: {} }; - owner = { name: 'profile-name' }; - constructor() { } + return BlockContainerComponent; } + it("get recent documents from the article service", done => { - tcb.createAsync(BlockContainerComponent).then(fixture => { + tcb.createAsync(getComponent()).then(fixture => { let recentDocumentsBlock: RecentDocumentsBlock = fixture.debugElement.componentViewChildren[0].componentInstance; expect(recentDocumentsBlock.documents).toEqual([{ name: "article1" }]); done(); @@ -41,7 +53,7 @@ describe("Components", () => { }); it("go to article page when open a document", done => { - tcb.createAsync(BlockContainerComponent).then(fixture => { + tcb.createAsync(getComponent()).then(fixture => { let recentDocumentsBlock: RecentDocumentsBlock = fixture.debugElement.componentViewChildren[0].componentInstance; recentDocumentsBlock.openDocument({ path: "path", profile: { identifier: "identifier" } }); expect(state.go).toHaveBeenCalledWith("main.profile.page", { page: "path", profile: "identifier" }); @@ -49,5 +61,20 @@ describe("Components", () => { }); }); + it("it uses default limit 5 if not defined on block", done => { + settingsObj = null; + mockedArticleService = jasmine.createSpyObj("mockedArticleService", ["getByProfile"]); + (mockedArticleService).mocked = true; + let thenMocked = jasmine.createSpy("then"); + mockedArticleService.getByProfile = jasmine.createSpy("getByProfile").and.returnValue({then: thenMocked}); + let getByProfileFunct = mockedArticleService.getByProfile; + tcb.createAsync(getComponent()).then(fixture => { + let recentDocumentsBlock: RecentDocumentsBlock = fixture.debugElement.componentViewChildren[0].componentInstance; + recentDocumentsBlock.openDocument({ path: "path", profile: { identifier: "identifier" } }); + expect(getByProfileFunct).toHaveBeenCalledWith(profile, { content_type: 'TinyMceArticle', per_page: 5 }); + done(); + }); + }); + }); }); \ No newline at end of file diff --git a/src/app/components/noosfero-blocks/recent-documents/recent-documents.component.ts b/src/app/components/noosfero-blocks/recent-documents/recent-documents.component.ts index 6cf2d05..9997e57 100644 --- a/src/app/components/noosfero-blocks/recent-documents/recent-documents.component.ts +++ b/src/app/components/noosfero-blocks/recent-documents/recent-documents.component.ts @@ -23,12 +23,12 @@ export class RecentDocumentsBlock { this.profile = this.owner; this.documents = []; - let limit = (this.block && this.block.settings) ? this.block.settings.limit : null || 5; + let limit = ((this.block && this.block.settings) ? this.block.settings.limit : null) || 5; // FIXME get all text articles // FIXME make the getByProfile a generic method where we tell the type passing a class TinyMceArticle // and the promise should be of type TinyMceArticle[], per example this.articleService.getByProfile(this.profile, { content_type: 'TinyMceArticle', per_page: limit }) - .then((result: noosfero.RestResult) => { + .then((result: noosfero.RestResult) => { this.documents = result.data; this.documentsLoaded = true; }); diff --git a/src/app/components/noosfero-boxes/boxes.component.spec.ts b/src/app/components/noosfero-boxes/boxes.component.spec.ts index acbc910..deb21e0 100644 --- a/src/app/components/noosfero-boxes/boxes.component.spec.ts +++ b/src/app/components/noosfero-boxes/boxes.component.spec.ts @@ -19,8 +19,8 @@ const htmlTemplate: string = ' { beforeEach(() => { - angular.mock.module("templates") - }) + angular.mock.module("templates"); + }); @Component({ selector: 'test-container-component', @@ -43,8 +43,7 @@ describe("Boxes Component", () => { it("renders boxes into a container", (done: Function) => { createComponentFromClass(BoxesContainerComponent).then((fixture) => { - - var boxesHtml = fixture.debugElement; + let boxesHtml = fixture.debugElement; expect(boxesHtml.query('div.col-md-7').length).toEqual(1); expect(boxesHtml.query('div.col-md-2-5').length).toEqual(1); diff --git a/src/app/components/noosfero/noosfero-template.filter.ts b/src/app/components/noosfero/noosfero-template.filter.ts index 106b512..a7cd0df 100644 --- a/src/app/components/noosfero/noosfero-template.filter.ts +++ b/src/app/components/noosfero/noosfero-template.filter.ts @@ -4,7 +4,7 @@ import {Pipe} from "ng-forward"; export class NoosferoTemplate { transform(text: string, options: any) { - for (var option in options) { + for (let option in options) { text = text.replace('{' + option + '}', options[option]); } return text; diff --git a/src/app/components/noosfero/profile-image/profile-image.component.spec.ts b/src/app/components/noosfero/profile-image/profile-image.component.spec.ts index 12fe1c9..ebe61cb 100644 --- a/src/app/components/noosfero/profile-image/profile-image.component.spec.ts +++ b/src/app/components/noosfero/profile-image/profile-image.component.spec.ts @@ -4,42 +4,42 @@ import {Pipe, Input, provide, Component} from 'ng-forward'; import * as helpers from "./../../../../spec/helpers"; -import {ProfileImage} from "./profile-image.component" +import {ProfileImage} from "./profile-image.component"; const tcb = new TestComponentBuilder(); describe("Components", () => { - + describe("Profile Image Component", () => { beforeEach(angular.mock.module("templates")); - + it("show community users image if profile is not Person", done => { helpers.tcb.createAsync(ProfileImage).then(fixture => { - let profileImageComponent : ProfileImage = fixture.componentInstance - let profile = { id: 1, identifier: "myprofile", type: "Community" } - profileImageComponent.profile = profile + let profileImageComponent: ProfileImage = fixture.componentInstance; + let profile = { id: 1, identifier: "myprofile", type: "Community" }; + profileImageComponent.profile = profile; profileImageComponent.ngOnInit(); // Check the attribute expect(profileImageComponent.defaultIcon).toBe("fa-users", "The default icon should be community users"); - //var elProfile = fixture.debugElement.componentViewChildren[0]; - //expect(elProfile.query('div.profile-image-block').length).toEqual(1); + // var elProfile = fixture.debugElement.componentViewChildren[0]; + // expect(elProfile.query('div.profile-image-block').length).toEqual(1); done(); }); }); - + it("show Person image if profile is Person", done => { tcb.createAsync(ProfileImage).then(fixture => { - let profileImageComponent : ProfileImage = fixture.componentInstance - let profile = { id: 1, identifier: "myprofile", type: "Person" } - profileImageComponent.profile = profile + let profileImageComponent: ProfileImage = fixture.componentInstance; + let profile = { id: 1, identifier: "myprofile", type: "Person" }; + profileImageComponent.profile = profile; profileImageComponent.ngOnInit(); // Check the attribute expect(profileImageComponent.defaultIcon).toEqual("fa-user", "The default icon should be person user"); done(); }); }); - + }); }); \ No newline at end of file diff --git a/src/app/components/noosfero/profile-image/profile-image.component.ts b/src/app/components/noosfero/profile-image/profile-image.component.ts index c59e8c2..e7b165e 100644 --- a/src/app/components/noosfero/profile-image/profile-image.component.ts +++ b/src/app/components/noosfero/profile-image/profile-image.component.ts @@ -9,7 +9,7 @@ export class ProfileImage { @Input() profile: Profile; defaultIcon: string; - + ngOnInit() { this.defaultIcon = 'fa-users'; if (this.profile && this.profile.type === 'Person') { diff --git a/src/app/content-viewer/content-viewer.component.spec.ts b/src/app/content-viewer/content-viewer.component.spec.ts index e891d4f..1bf6c7c 100644 --- a/src/app/content-viewer/content-viewer.component.spec.ts +++ b/src/app/content-viewer/content-viewer.component.spec.ts @@ -14,7 +14,7 @@ describe('Content Viewer Component', () => { let stateParamsService: any; - //loading the templates + // loading the templates beforeEach(() => { angular.mock.module("templates"); @@ -32,7 +32,7 @@ describe('Content Viewer Component', () => { provide('$stateParams', { useValue: stateParamsService }) - ] + ]; }); }); @@ -51,7 +51,7 @@ describe('Content Viewer Component', () => { expect(fixture.debugElement.query('content-viewer').length).toEqual(1); done(); - }) + }); }); it('check if article was loaded', (done: Function) => { @@ -69,7 +69,7 @@ describe('Content Viewer Component', () => { return helpers.mocks.promiseResultTemplate(profile); }; - helpers.mocks.articleService.getByProfile = (id: number, params: any) => { + helpers.mocks.articleService.getOneByProfile = (id: number, params: any) => { return helpers.mocks.promiseResultTemplate({ data: article }); diff --git a/src/app/content-viewer/content-viewer.component.ts b/src/app/content-viewer/content-viewer.component.ts index 3818d4f..f6fe388 100644 --- a/src/app/content-viewer/content-viewer.component.ts +++ b/src/app/content-viewer/content-viewer.component.ts @@ -30,7 +30,7 @@ export class ContentViewer { activate() { this.profileService.getCurrentProfile().then((profile: noosfero.Profile) => { this.profile = profile; - return this.articleService.getByProfile(this.profile, { path: this.$stateParams["page"] }); + return this.articleService.getOneByProfile(this.profile, { path: this.$stateParams["page"] }); }).then((result: noosfero.RestResult) => { this.article = result.data; }); diff --git a/src/lib/ng-noosfero-api/http/article.service.ts b/src/lib/ng-noosfero-api/http/article.service.ts index cdf890b..edc9cd3 100644 --- a/src/lib/ng-noosfero-api/http/article.service.ts +++ b/src/lib/ng-noosfero-api/http/article.service.ts @@ -36,12 +36,17 @@ export class ArticleService extends RestangularService { return rootElement.one(path, id).get(queryParams, headers); } - getByProfile(profile: noosfero.Profile, params?: any): ng.IPromise> { + getByProfile(profile: noosfero.Profile, params?: any): ng.IPromise> { let profileElement = this.profileService.get(profile.id); return this.list(profileElement, params); } - getChildren(article: noosfero.Article, params?: any): ng.IPromise> { + getOneByProfile(profile: noosfero.Profile, params?: any): ng.IPromise> { + let profileElement = this.profileService.get(profile.id); + return this.get(profile.id, params); + } + + getChildren(article: noosfero.Article, params?: any): ng.IPromise> { return this.listSubElements(article, "children", params); } diff --git a/src/lib/ng-noosfero-api/http/restangular_service.spec.ts b/src/lib/ng-noosfero-api/http/restangular_service.spec.ts index c44fd29..3a335ec 100644 --- a/src/lib/ng-noosfero-api/http/restangular_service.spec.ts +++ b/src/lib/ng-noosfero-api/http/restangular_service.spec.ts @@ -19,7 +19,7 @@ describe("Restangular Service - base Class", () => { return { singular: "object", plural: "objects" - } + }; } public getResourcePath() { @@ -32,7 +32,7 @@ describe("Restangular Service - base Class", () => { return { singular: "rootObject", plural: "rootObjects" - } + }; } public getResourcePath() { @@ -59,7 +59,7 @@ describe("Restangular Service - base Class", () => { it("list() calls GET /objects", (done) => { $httpBackend.expectGET("/api/v1/objects").respond(200, { objects: [{ id: 1 }, { id: 2 }] }); - objectRestService.list().then((result: noosfero.RestResult) => { + objectRestService.list().then((result: noosfero.RestResult) => { expect(result.data).toBeDefined(); expect((result.data).length).toEqual(2); done(); @@ -75,7 +75,7 @@ describe("Restangular Service - base Class", () => { $httpBackend.expectGET("/api/v1/rootObjects/1/objects").respond(200, { objects: [{ id: 1 }, { id: 2 }] }); let rootObj: RootObjectModel = rootObjectRestService.getElement(1); - objectRestService.list(rootObj).then((result: noosfero.RestResult) => { + objectRestService.list(rootObj).then((result: noosfero.RestResult) => { expect(result.data).toBeDefined(); expect((result.data).length).toEqual(2); done(); diff --git a/src/lib/ng-noosfero-api/http/restangular_service.ts b/src/lib/ng-noosfero-api/http/restangular_service.ts index b2653d8..8bcaf46 100644 --- a/src/lib/ng-noosfero-api/http/restangular_service.ts +++ b/src/lib/ng-noosfero-api/http/restangular_service.ts @@ -104,8 +104,8 @@ export abstract class RestangularService { * @param {number} id (description) * @returns {ng.IPromise} Returns a Promise to the Generic Type */ - public list(rootElement?: restangular.IElement, queryParams?: any, headers?: any): ng.IPromise> { - let deferred = this.$q.defer>(); + public list(rootElement?: restangular.IElement, queryParams?: any, headers?: any): ng.IPromise> { + let deferred = this.$q.defer>(); let restRequest: ng.IPromise; @@ -133,7 +133,7 @@ export abstract class RestangularService { restRequest = obj.all(subElement).get(queryParams, headers); restRequest.then(this.getHandleSuccessFunction(deferred)) .catch(this.getHandleErrorFunction(deferred)); - return deferred.promise;; + return deferred.promise; } /** @@ -146,9 +146,9 @@ export abstract class RestangularService { if (rootElement) { - restangularObj = rootElement.one(this.getResourcePath(), obj.id); + restangularObj = rootElement.one(this.getResourcePath(), obj.id); } else { - restangularObj = this.restangularService.one(this.getResourcePath(), obj.id); + restangularObj = this.restangularService.one(this.getResourcePath(), obj.id); } let deferred = this.$q.defer>(); @@ -176,9 +176,9 @@ export abstract class RestangularService { let restangularObj: restangular.IElement; if (rootElement) { - restangularObj = rootElement.one(this.getResourcePath(), obj.id); + restangularObj = rootElement.one(this.getResourcePath(), obj.id); } else { - restangularObj = this.restangularService.one(this.getResourcePath(), obj.id); + restangularObj = this.restangularService.one(this.getResourcePath(), obj.id); } restRequest = restangularObj.put(queryParams, headers); @@ -235,7 +235,6 @@ export abstract class RestangularService { self.$log.debug("Request successfull executed", response.data, self, response); } deferred.resolve(this.extractData(response)); - //deferred.resolve(this.buildResult(response)); }; return successFunction; } diff --git a/src/lib/ng-noosfero-api/interfaces/articles_result.ts b/src/lib/ng-noosfero-api/interfaces/articles_result.ts deleted file mode 100644 index ae534e0..0000000 --- a/src/lib/ng-noosfero-api/interfaces/articles_result.ts +++ /dev/null @@ -1,12 +0,0 @@ - -namespace noosfero { - export interface ArticlesResult { - articles: Article[]; - headers: Function; - } - - export interface ArticleResult { - article: Article; - headers: Function; - } -} \ No newline at end of file diff --git a/src/lib/ng-noosfero-api/interfaces/rest_model.ts b/src/lib/ng-noosfero-api/interfaces/rest_model.ts index ac0fb0e..448ac36 100644 --- a/src/lib/ng-noosfero-api/interfaces/rest_model.ts +++ b/src/lib/ng-noosfero-api/interfaces/rest_model.ts @@ -1,5 +1,5 @@ namespace noosfero { export interface RestModel extends restangular.IElement { - id: number | string; + id: number; } } \ No newline at end of file diff --git a/src/lib/ng-noosfero-api/interfaces/rest_result.ts b/src/lib/ng-noosfero-api/interfaces/rest_result.ts index db35851..3afca33 100644 --- a/src/lib/ng-noosfero-api/interfaces/rest_result.ts +++ b/src/lib/ng-noosfero-api/interfaces/rest_result.ts @@ -1,7 +1,7 @@ namespace noosfero { export interface RestResult { - data: T | T[]; + data: T; headers: Function; } } \ No newline at end of file diff --git a/src/spec/mocks.ts b/src/spec/mocks.ts index efbbe50..9ce8892 100644 --- a/src/spec/mocks.ts +++ b/src/spec/mocks.ts @@ -50,6 +50,17 @@ export var mocks = { } }; }, + getOneByProfile: (profileId: number, params?: any) => { + return { + then: (func?: Function) => { + if (func) func({ + data: { + article: null + } + }); + } + }; + }, getChildren: (articleId: number, params?: any) => { return { then: (func?: Function) => { if (func) func(); } @@ -73,7 +84,7 @@ export var mocks = { use: (lang?: string) => { return lang ? Promise.resolve(lang) : "en"; }, - instant: (text: string) => { return text } + instant: (text: string) => { return text; } }, tmhDynamicLocale: { get: () => { }, -- libgit2 0.21.2