it('buid',function*(){

            this.timeout(50000); // this test can take up to 5 seconds

            let user = yield dbModelUsers.getUser(demoProjectTestUserId);
            assert.equal(user.id, demoProjectTestUserId);


            let valOrError = yield buildDemoProject.findOrBuildAllParts(user,demoProjectConf.datapathPrefix);
            assert.isUndefined(valOrError.error, "Unexpected error from createDemoProjectForUser: "******"process");
                assert.equal(process.name, processName);
            }

            assert.lengthOf(samples, demoProjectConf.sampleNameData.length);
            for (let i = 0; i < demoProjectConf.sampleNameData.length; i++) {
                let sample = samples[i];
                let name = demoProjectConf.sampleNameData[i];
                assert.equal(name, sample.name);
            }

            assert.lengthOf(files, helper.filesDescriptions().length);

            let missingFiles = yield helper.filesMissingInDatabase(project,demoProjectConf.datapathPrefix);
            assert.lengthOf(missingFiles, 0);

        });
        it('find and attache the demo-project files to project', function*() {
            let user = yield dbModelUsers.getUser(demoProjectTestUserId);
            assert.equal(user.id, demoProjectTestUserId);

            let valOrError = yield helper.createOrFindDemoProjectForUser(user);
            assert.isUndefined(valOrError.error, "Unexpected error from createDemoProjectForUser: " + valOrError.error);
            let project = valOrError.val;
            assert.equal(project.name, demoProjectConf.demoProjectName);

            yield helper.addAllFilesToProject(user, project,demoProjectConf.datapathPrefix);
            let files = yield helper.filesForProject(project);
            assert.lengthOf(files, helper.filesDescriptions().length);

            let missingFiles = yield helper.filesMissingInDatabase(project,demoProjectConf.datapathPrefix);
            assert.lengthOf(missingFiles, 0);
        });
        it('adds all files to top dir of a test Demo Project', function*() {
            let user = yield dbModelUsers.getUser(demoProjectTestUserId);
            assert.isNotNull(user, "test user exists");

            let projectName = random_name();
            let attrs = {
                name: projectName,
                description: "This is a test project for automated testing."
            };
            let ret = yield projects.createProject(user, attrs);
            let project = ret.val;
            assert.equal(projectName, project.name);
            assert.equal(user.id, project.owner);

            yield helper.addAllFilesToProject(user, project, demoProjectConf.datapathPrefix);
            let files = yield helper.filesForProject(project);
            assert.lengthOf(files, helper.filesDescriptions().length);

            let missingFiles = yield helper.filesMissingInDatabase(project);
            assert.lengthOf(missingFiles, 0);

        });