From 23d29ed13fd7fbd40e9ec81514e4abfa4bd92cdb Mon Sep 17 00:00:00 2001 From: ABNER SILVA DE OLIVEIRA Date: Tue, 15 Mar 2016 08:32:00 -0300 Subject: [PATCH] fixed tests after restangular_service refactory. changes on blog, cms and recent-documents components after refactory --- src/app/cms/cms.component.spec.ts | 7 ++++--- src/app/cms/cms.component.ts | 1 + src/app/components/noosfero-articles/blog/blog.component.spec.ts | 4 ++-- src/app/components/noosfero-articles/blog/blog.component.ts | 2 +- src/app/components/noosfero-blocks/recent-documents/recent-documents.component.spec.ts | 2 +- src/lib/ng-noosfero-api/http/article.service.ts | 9 ++++++--- 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/app/cms/cms.component.spec.ts b/src/app/cms/cms.component.spec.ts index 6e6f9eb..66ddd93 100644 --- a/src/app/cms/cms.component.spec.ts +++ b/src/app/cms/cms.component.spec.ts @@ -10,6 +10,7 @@ describe("Components", () => { let profileServiceMock: any; let $state: any; let sweetAlert: any; + let profile = { id: 1 }; beforeEach(inject((_$rootScope_: ng.IRootScopeService, _$q_: ng.IQService) => { $rootScope = _$rootScope_; @@ -23,10 +24,10 @@ describe("Components", () => { articleServiceMock = jasmine.createSpyObj("articleServiceMock", ["create"]); let getCurrentProfileResponse = $q.defer(); - getCurrentProfileResponse.resolve({ id: 1 }); + getCurrentProfileResponse.resolve(profile); let articleCreate = $q.defer(); - articleCreate.resolve({ path: "path", profile: { identifier: "profile" } }); + articleCreate.resolve({ data: { path: "path", profile: { identifier: "profile" } }}); profileServiceMock.getCurrentProfile = jasmine.createSpy("getCurrentProfile").and.returnValue(getCurrentProfileResponse.promise); articleServiceMock.create = jasmine.createSpy("create").and.returnValue(articleCreate.promise); @@ -37,7 +38,7 @@ describe("Components", () => { component.save(); $rootScope.$apply(); expect(profileServiceMock.getCurrentProfile).toHaveBeenCalled(); - expect(articleServiceMock.create).toHaveBeenCalledWith(1, component.article); + expect(articleServiceMock.create).toHaveBeenCalledWith(component.article, profile); done(); }); diff --git a/src/app/cms/cms.component.ts b/src/app/cms/cms.component.ts index af3a879..baafe6a 100644 --- a/src/app/cms/cms.component.ts +++ b/src/app/cms/cms.component.ts @@ -24,6 +24,7 @@ export class Cms { this.profileService.getCurrentProfile().then((profile: Profile) => { return this.articleService.create(this.article, profile); }).then((result: noosfero.RestResult) => { + console.log('RESULT', result); let resultData: noosfero.Article = result.data; this.$state.transitionTo('main.profile.page', { page: resultData.path, profile: resultData.profile.identifier }); this.SweetAlert.swal({ 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 5648579..c451c43 100644 --- a/src/app/components/noosfero-articles/blog/blog.component.spec.ts +++ b/src/app/components/noosfero-articles/blog/blog.component.spec.ts @@ -101,11 +101,11 @@ describe("Blog Component", () => { title: 'The article test' }]; - (articles)['_headers'] = { total: 1 }; + let result = { data: articles, headers: (name: string) => { return 1; } }; // defining a mock result to articleService.getChildren method articleService.getChildren = (article_id: number, filters: {}) => { - return promiseResultTemplate(articles); + return promiseResultTemplate(result); }; createComponentFromClass(BlogContainerComponent).then((fixture) => { diff --git a/src/app/components/noosfero-articles/blog/blog.component.ts b/src/app/components/noosfero-articles/blog/blog.component.ts index be87672..0d9a7e2 100644 --- a/src/app/components/noosfero-articles/blog/blog.component.ts +++ b/src/app/components/noosfero-articles/blog/blog.component.ts @@ -34,7 +34,7 @@ export class ArticleBlog { this.articleService .getChildren(this.article, filters) .then((result: noosfero.RestResult) => { - this.totalPosts = (result.data)["_headers"]["total"]; + this.totalPosts = result.headers("total"); this.posts = result.data; }); } 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 055eb88..fc790c9 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 @@ -18,7 +18,7 @@ describe("Components", () => { new Provider('ArticleService', { useValue: { getByProfile: (profileId: number, filters: any): any => { - return Promise.resolve({ articles: [{ name: "article1" }] }); + return Promise.resolve({ data: [{ name: "article1" }] , headers: (name: string) => {return name;}}); } } }), diff --git a/src/lib/ng-noosfero-api/http/article.service.ts b/src/lib/ng-noosfero-api/http/article.service.ts index 0a08b18..108f951 100644 --- a/src/lib/ng-noosfero-api/http/article.service.ts +++ b/src/lib/ng-noosfero-api/http/article.service.ts @@ -1,11 +1,13 @@ import { Injectable, Inject } from "ng-forward"; import {RestangularService} from "./restangular_service"; +import {ProfileService} from "./profile.service"; + @Injectable() -@Inject("Restangular", "$q") +@Inject("Restangular", "$q", "$log", ProfileService) export class ArticleService extends RestangularService { - constructor(Restangular: restangular.IService, $q: ng.IQService, $log: ng.ILogService) { + constructor(Restangular: restangular.IService, $q: ng.IQService, $log: ng.ILogService, protected profileService: ProfileService) { super(Restangular, $q, $log); } @@ -57,7 +59,8 @@ export class ArticleService extends RestangularService { // TODO -> change all Restangular services to this approach "Return promise to a specific type" // it makes easy consume the service getByProfile(profile: noosfero.Profile, params?: any): ng.IPromise> { - return this.list(profile); + let profileElement = this.profileService.get(profile.id); + return this.list(profileElement, params); } getChildren(article: noosfero.Article, params?: any): ng.IPromise> { -- libgit2 0.21.2