Commit 331b958528395ea22d369f42b186784d23406234
Committed by
Michel Felipe

1 parent
11f93c35
Exists in
profile-view
Created initial profile view data directive with two specs
Showing
4 changed files
with
81 additions
and
0 deletions
Show diff stats
src/app/components/noosfero-profile/profile-view.component.spec.ts
0 → 100644
@@ -0,0 +1,54 @@ | @@ -0,0 +1,54 @@ | ||
1 | +import {ComponentFixture} from 'ng-forward/cjs/testing/test-component-builder'; | ||
2 | +import {Profile} from "./../../models/interfaces"; | ||
3 | +import * as helpers from "../../../spec/helpers"; | ||
4 | +import {Component} from 'ng-forward' | ||
5 | + | ||
6 | +import {ProfileView} from './profile-view.component'; | ||
7 | + | ||
8 | +import {INgForwardJQuery} from '../../../../node_modules/ng-forward/cjs/util/jqlite-extensions.d'; | ||
9 | + | ||
10 | +let htmlTemplate = '<profile-view [profile]="ctrl.profile"></profile-view>' | ||
11 | +describe('Profile View Component', () => { | ||
12 | + beforeEach(angular.mock.module('templates')) | ||
13 | + @Component({ | ||
14 | + selector: 'test-profile-view-container', | ||
15 | + directives: [ProfileView], | ||
16 | + providers: helpers.provideFilters('translateFilter'), | ||
17 | + template: htmlTemplate | ||
18 | + }) | ||
19 | + class ProfileViewContainer { | ||
20 | + profile: any = { | ||
21 | + id: 1, | ||
22 | + identifier: 'scarlet', | ||
23 | + type: 'Profile', | ||
24 | + name: 'Scarlet', | ||
25 | + created_at: '2016-03-11' | ||
26 | + } | ||
27 | + } | ||
28 | + | ||
29 | + it('render main content profile view', (done: Function) => { | ||
30 | + helpers.createComponentFromClass(ProfileViewContainer).then((fixture) => { | ||
31 | + expect(fixture.debugElement.query('div.profile-view').length).toEqual(1); | ||
32 | + | ||
33 | + done(); | ||
34 | + }) | ||
35 | + .catch((e) => { | ||
36 | + fail(e.message); | ||
37 | + done(); | ||
38 | + }); | ||
39 | + | ||
40 | + }); | ||
41 | + | ||
42 | + it('render profile data', (done: Function) => { | ||
43 | + helpers.createComponentFromClass(ProfileViewContainer).then((fixture) => { | ||
44 | + let nameTag: INgForwardJQuery = fixture.debugElement.query('header > h2'); | ||
45 | + let container: ProfileViewContainer = fixture.componentInstance; | ||
46 | + | ||
47 | + | ||
48 | + expect(nameTag.length).toEqual(1); | ||
49 | + expect(nameTag.text()).toEqual(container.profile.name); | ||
50 | + | ||
51 | + done(); | ||
52 | + }) | ||
53 | + }); | ||
54 | +}); |
src/app/components/noosfero-profile/profile-view.component.ts
0 → 100644
@@ -0,0 +1,11 @@ | @@ -0,0 +1,11 @@ | ||
1 | +import {Profile} from "../../models/interfaces"; | ||
2 | +import {Component, Input} from 'ng-forward' | ||
3 | + | ||
4 | +@Component({ | ||
5 | + selector: 'profile-view', | ||
6 | + templateUrl: 'app/components/noosfero-profile/profile-view.html' | ||
7 | +}) | ||
8 | +export class ProfileView { | ||
9 | + @Input() | ||
10 | + profile: Profile | ||
11 | +} |
@@ -0,0 +1,15 @@ | @@ -0,0 +1,15 @@ | ||
1 | +<div class='profile-view'> | ||
2 | + <div class="col-lg-3 col-md-4 col-sm-4"> | ||
3 | + <div class="main-box clearfix"> | ||
4 | + <header class="main-box-header clearfix"> | ||
5 | + <h2>{{ctrl.profile.name}}</h2> | ||
6 | + </header> | ||
7 | + <div class="main-box-body clearfix"> | ||
8 | + <profile-image [profile]="ctrl.profile" class="profile-img img-responsive center-block"></profile-image> | ||
9 | + </div> | ||
10 | + <div class="profile-since"> | ||
11 | + {{"profile.created_at" | translate}}: {{ctrl.profile.created_at}} | ||
12 | + </div> | ||
13 | + </div> | ||
14 | + </div> | ||
15 | +</div> |
src/languages/en.json
@@ -12,6 +12,7 @@ | @@ -12,6 +12,7 @@ | ||
12 | "profile.wall": "Profile Wall", | 12 | "profile.wall": "Profile Wall", |
13 | "activities.create_article.description": "has published on", | 13 | "activities.create_article.description": "has published on", |
14 | "activities.add_member_in_community.description": "has joined the community", | 14 | "activities.add_member_in_community.description": "has joined the community", |
15 | + "profile.member_since": "Member since" | ||
15 | "activities.new_friendship.description": "has made {friends, plural, one{one new friend} other{# new friends}}:", | 16 | "activities.new_friendship.description": "has made {friends, plural, one{one new friend} other{# new friends}}:", |
16 | "auth.title": "Login", | 17 | "auth.title": "Login", |
17 | "auth.form.login": "Login / Email address", | 18 | "auth.form.login": "Login / Email address", |