/* jshint node:true */
/* global require, it, before, beforeEach, describe */

'use strict';
var should = require('should'),
    inquirer = require('inquirer'),
    gulp = require('gulp'),
    mockGulpDest = require('mock-gulp-dest')(gulp),
    path = require('path');

require('../slushfile');

/**
 * Mock inquirer prompt
 */

function mockPrompt(answers) {
    inquirer.prompt = function (prompts, done) {

        [].concat(prompts).forEach(function (prompt) {
            if (!(prompt.name in answers)) {
                answers[prompt.name] = prompt.default;
            }
        });

        done(answers);
    };
}

describe('slush-webapp', function() {
    before(function () {
        process.chdir(__dirname);
        process.argv.push('--skip-install');
    });

    describe('default generator', function () {
        beforeEach(function () {
            mockPrompt({
                features: [{
                    name: 'Sass',
                    value: 'includeSass',
                    checked: false
                }, {
                    name: 'Bootstrap',
                    value: 'includeBootstrap',
                    checked: false
                }, {
                    name: 'Modernizr',
                    value: 'includeModernizr',
                    checked: false
                }],
                moveon: true
            });
        });

        it('should put all project files in current working directory', function (done) {
            gulp.start('default').once('stop', function () {
                mockGulpDest.cwd().should.equal(__dirname);
                mockGulpDest.basePath().should.equal(__dirname);
                done();
            });
        });

        it('should create expected files', function (done) {
            gulp.start('default').once('stop', function () {
                mockGulpDest.assertDestContains([
                    '.bowerrc',
                    '.editorconfig',
                    '.gitattributes',
                    '.gitignore',
                    '.jshintrc',
                    'package.json',
                    'bower.json',
                    'gulpfile.js',
                    'app/index.html'
                ]);

                done();
            });
        });
    });
});
@@ -236,36 +236,8 @@
 ulp)
-,%0A    path = require('path')
 ;%0A%0Ar
@@ -878,422 +878,8 @@
 s: %5B
-%7B%0A                    name: 'Sass',%0A                    value: 'includeSass',%0A                    checked: false%0A                %7D, %7B%0A                    name: 'Bootstrap',%0A                    value: 'includeBootstrap',%0A                    checked: false%0A                %7D, %7B%0A                    name: 'Modernizr',%0A                    value: 'includeModernizr',%0A                    checked: false%0A                %7D
 %5D,%0A 
@@ -1744,40 +1744,963 @@
 app/
-index.html'%0A                %5D);%0A
+404.html',%0A                    'app/favicon.ico',%0A                    'app/robots.txt',%0A                    'app/index.html',%0A                    'app/scripts/main.js'%0A                %5D);%0A%0A                done();%0A            %7D);%0A        %7D);%0A    %7D);%0A%0A    describe('default generator: sass feature', function () %7B%0A        it('should create css file', function (done) %7B%0A            mockPrompt(%7B%0A                features: %5B%5D,%0A                moveon: true%0A            %7D);%0A            gulp.start('default').once('stop', function () %7B%0A                mockGulpDest.assertDestContains('app/styles/main.css');%0A                done();%0A            %7D);%0A        %7D);%0A%0A        it('should create scss file', function (done) %7B%0A            mockPrompt(%7B%0A                features: %5B'includeSass'%5D,%0A                moveon: true%0A            %7D);%0A            gulp.start('default').once('stop', function () %7B%0A                mockGulpDest.assertDestContains('app/styles/main.scss');
 %0A   

Add tests for sass feature. Update tests for expected files.