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", |