Commit 50a53289994312567e4cc7ff6411b14b38e9fb13
1 parent
69b2897c
Exists in
master
and in
35 other branches
adicionado arquivos da aplicação nos testes
Showing
4 changed files
with
36 additions
and
6 deletions
Show diff stats
karma.conf.js
| ... | ... | @@ -23,6 +23,8 @@ function listFiles() { |
| 23 | 23 | |
| 24 | 24 | var patterns = [].concat(wiredep(wiredepOptions).js) |
| 25 | 25 | .concat([ |
| 26 | + './src/commons.js', | |
| 27 | + './src/noosfero.js', | |
| 26 | 28 | './src/noosfero-specs.js' |
| 27 | 29 | ] |
| 28 | 30 | //[ |
| ... | ... | @@ -124,7 +126,8 @@ module.exports = function (config) { |
| 124 | 126 | // It was not possible to do it there because karma doesn't let us now if we are |
| 125 | 127 | // running a single test or not |
| 126 | 128 | configuration.preprocessors = { |
| 127 | - 'src/**/*.js': ['sourcemap'] | |
| 129 | + 'src/**/*.js': ['sourcemap'], | |
| 130 | + 'src/**/*.ts': ['sourcemap'] | |
| 128 | 131 | }; |
| 129 | 132 | // 'src/**/*.js': ['sourcemap'], |
| 130 | 133 | // 'src/**/*.[sS]pec.ts': ['sourcemap'] | ... | ... |
src/app/components/noosfero-articles/article/article.directive.spec.ts
| ... | ... | @@ -8,21 +8,21 @@ import {ArticleDirective} from './article.directive'; |
| 8 | 8 | const tcb = new TestComponentBuilder(); |
| 9 | 9 | |
| 10 | 10 | |
| 11 | +let html = '<noosfero-article [article]="ctr.article" [profile]="ctrl.profile"></noosfero-article>'; | |
| 12 | + | |
| 11 | 13 | // Create a component to include your testing component |
| 12 | -@Component({ selector: 'my-test' , template: '<hr />'}) | |
| 14 | +@Component({ selector: 'my-test', template: html, directives: [ArticleDirective] }) | |
| 13 | 15 | class TestArticleDirective { |
| 14 | 16 | article = { type: 'TinyMceArticle' }; |
| 15 | 17 | profile = { name: 'profile-name' }; |
| 16 | - constructor(){ | |
| 18 | + constructor() { | |
| 17 | 19 | } |
| 18 | 20 | } |
| 19 | 21 | |
| 20 | 22 | |
| 21 | 23 | describe("Article Directive", () => { |
| 22 | 24 | it("receives the article and profile as inputs", done => { |
| 23 | - let html = '<noosfero-article [article]="ctr.article" [profile]="ctrl.profile"></noosfero-article>'; | |
| 24 | 25 | tcb |
| 25 | - .overrideTemplate(TestArticleDirective, html) | |
| 26 | 26 | .createAsync(TestArticleDirective).then(fixture => { |
| 27 | 27 | let myComponent: ArticleDirective = fixture.componentInstance; |
| 28 | 28 | expect(myComponent.article.type).toEqual("TinyMceArticle"); |
| ... | ... | @@ -32,4 +32,28 @@ describe("Article Directive", () => { |
| 32 | 32 | }); |
| 33 | 33 | }); |
| 34 | 34 | |
| 35 | + it("renders a directive corresponding to the article type", done => { | |
| 36 | + | |
| 37 | + @Component({ selector: 'noosfero-TinyMceArticle', template: "<h1>custom component</h1>" }) | |
| 38 | + class CustomArticleComponent { | |
| 39 | + | |
| 40 | + } | |
| 41 | + | |
| 42 | + @Component({ selector: 'custom-article-type-test', template: html, directives: [ArticleDirective, CustomArticleComponent] }) | |
| 43 | + class CustomArticleType { | |
| 44 | + article = { type: 'TinyMceArticle' }; | |
| 45 | + profile = { name: 'profile-name' }; | |
| 46 | + constructor() { | |
| 47 | + } | |
| 48 | + } | |
| 49 | + tcb | |
| 50 | + .createAsync(CustomArticleType).then(fixture => { | |
| 51 | + let myComponent: CustomArticleType = fixture.componentInstance; | |
| 52 | + expect(myComponent.article.type).toEqual("TinyMceArticle"); | |
| 53 | + expect(myComponent.profile.name).toEqual("profile-name"); | |
| 54 | + console.log(fixture.debugElement); | |
| 55 | + done(); | |
| 56 | + }); | |
| 57 | + }); | |
| 58 | + | |
| 35 | 59 | }); |
| 36 | 60 | \ No newline at end of file | ... | ... |
src/app/index.ts
webpack.config.js
| ... | ... | @@ -3,7 +3,8 @@ |
| 3 | 3 | var argv = require("yargs").argv; |
| 4 | 4 | var path = require("path"); |
| 5 | 5 | var glob = require("glob"); |
| 6 | -var webpack = require("webpack"); | |
| 6 | + | |
| 7 | +var CommonsChunkPlugin = require("webpack/lib/optimize/CommonsChunkPlugin"); | |
| 7 | 8 | |
| 8 | 9 | var extension = ".js"; |
| 9 | 10 | if (argv.production) { |
| ... | ... | @@ -27,6 +28,7 @@ var webpackConfig = { |
| 27 | 28 | 'noosfero-specs': './src/spec.ts' |
| 28 | 29 | }, |
| 29 | 30 | |
| 31 | + plugins: [ new CommonsChunkPlugin("commons.js")], | |
| 30 | 32 | |
| 31 | 33 | output: { |
| 32 | 34 | path: path.join(__dirname, "src"), | ... | ... |