@Test
  public void removeFoldersFromprojectTest() {
    EntityManagerFactory emf = mock(EntityManagerFactory.class);

    stub(emf.createEntityManager())
        .toReturn(createEntityManager())
        .toReturn(createEntityManager())
        .toReturn(createEntityManager())
        .toReturn(createEntityManager())
        .toReturn(createEntityManager());

    Folder folder1 = new Folder(new File("/tmp1"));
    Folder folder2 = new Folder(new File("/tmp2"));

    ProjectDAOFactory projectDAOFactory = new ProjectDAOFactory();
    FolderDAOFactory folderDAOFactory = new FolderDAOFactory();
    ResearchFileDAOFactory researchFileDAOFactory = new ResearchFileDAOFactory();
    MetadataAssociationDAOFactory metadataAssociationDAOFactory =
        new MetadataAssociationDAOFactory();
    SubmissionPackageDAOFactory submissionPackageDAOFactory = new SubmissionPackageDAOFactory();
    SchemaDAO schemaDAO = new SchemaDAO(emf.createEntityManager());

    projectService =
        new ProjectService(
            emf,
            projectDAOFactory,
            folderDAOFactory,
            researchFileDAOFactory,
            metadataAssociationDAOFactory,
            submissionPackageDAOFactory);

    final Schema schema = new Schema("", "", "", Boolean.TRUE);
    schemaDAO.createSchema(schema);

    Project project =
        projectService.createProject(
            new ProjectFieldsDTO(
                "name",
                "owner",
                "institution",
                "email",
                "desc",
                "collectionType",
                "rightsStatement",
                "accessRights",
                "license",
                "identifier",
                "subject",
                "electronicLocation",
                "physicalLocation",
                "placeOrRegionName",
                "geoCoverage",
                "datesOfCapture",
                "citationInformation",
                "counries",
                "languages",
                null,
                "fundingBody",
                "grantID",
                "relatedParty",
                "relatedGrant",
                "relatedInformation"),
            schema);

    projectService.mapFolderToProject(project, folder1);
    projectService.mapFolderToProject(project, folder2);

    List<String> deletedFolderList = new ArrayList<String>(0);

    deletedFolderList.add(folder2.getFolder().getAbsolutePath());

    projectService.removeFoldersFromProject(project, deletedFolderList);

    Project newProject =
        projectDAOFactory.createInstance(createEntityManager()).findById(project.getId());

    assertEquals(1, newProject.getFolders().size());
    assertEquals(
        folder1.getFolder().getPath(), newProject.getFolders().get(0).getFolder().getPath());
  }