Commit 331b958528395ea22d369f42b186784d23406234

Authored by Daniela Feitosa
Committed by Michel Felipe
1 parent 11f93c35
Exists in profile-view

Created initial profile view data directive with two specs

src/app/components/noosfero-profile/profile-view.component.spec.ts 0 → 100644
... ... @@ -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 @@
  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 +}
... ...
src/app/components/noosfero-profile/profile-view.html 0 → 100644
... ... @@ -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 12 "profile.wall": "Profile Wall",
13 13 "activities.create_article.description": "has published on",
14 14 "activities.add_member_in_community.description": "has joined the community",
  15 + "profile.member_since": "Member since"
15 16 "activities.new_friendship.description": "has made {friends, plural, one{one new friend} other{# new friends}}:",
16 17 "auth.title": "Login",
17 18 "auth.form.login": "Login / Email address",
... ...