1 | var _ = require('lodash'),
|
2 | clone = require('clone'),
|
3 | assert = require('assert'),
|
4 | fs = require('fs');
|
5 |
|
6 | var tasks = [
|
7 | 'assets:compile:0',
|
8 | 'build',
|
9 | 'build:0',
|
10 | 'clean',
|
11 | 'default',
|
12 | 'deploy',
|
13 | 'deploy:0',
|
14 | 'partials:load',
|
15 | 's3:bucket:ensure:0',
|
16 | 's3:list',
|
17 | 's3:objects:write:0',
|
18 | 'templates:compile:0'
|
19 | ];
|
20 |
|
21 | describe('projectB', function(){
|
22 | var gulp;
|
23 |
|
24 | beforeEach(function() {
|
25 | gulp = clone(require('gulp'));
|
26 | require('../').buildTasks(
|
27 | gulp,
|
28 | {
|
29 | s3: [
|
30 | {
|
31 | aws: {
|
32 | region: 'us-east-1',
|
33 | bucket: '',
|
34 | },
|
35 | validate: false,
|
36 | create: false
|
37 | }
|
38 | ],
|
39 | projectName: 'projectB',
|
40 | root: 'test/projectB',
|
41 | taskPrefix: '',
|
42 | dist: 'test/dist/pB',
|
43 | dependencySrc: [
|
44 | 'test/projectB/fake_bower_components'
|
45 | ]
|
46 | }
|
47 | );
|
48 | });
|
49 |
|
50 | tasks.forEach(function(task) {
|
51 | it('should have a task named \''+task+'\'', function(done){
|
52 | assert(_.findIndex(_.keys(gulp.tasks),task));
|
53 | done();
|
54 | });
|
55 | });
|
56 |
|
57 | it('should build the project', function(done){
|
58 | gulp.start('build');
|
59 | gulp.on('stop',function(){done();});
|
60 | });
|
61 |
|
62 | it('should build projectA as a dependency', function(done){
|
63 |
|
64 | fs.lstat('test/dist/pB/0/projectA', function(err, stats) {
|
65 | if (!err && stats.isDirectory()) {
|
66 | done();
|
67 | }
|
68 | else {
|
69 | done(err);
|
70 | }
|
71 | });
|
72 | });
|
73 |
|
74 | it('should clean the project', function(done){
|
75 | gulp.start('clean');
|
76 | gulp.on('stop',function(){
|
77 | fs.lstat('test/dist/pB', function(err, stats) {
|
78 | if (!err && stats.isDirectory()) {
|
79 | done("Clean Failed. Directory exists");
|
80 | }
|
81 | else {
|
82 | done();
|
83 | }
|
84 | });
|
85 | });
|
86 | });
|
87 |
|
88 | });
|