models.AppFileFields{Path: "example-app/.cfignore"}, models.AppFileFields{Path: "example-app/app.rb"}, models.AppFileFields{Path: "example-app/config.ru"}, models.AppFileFields{Path: "example-app/Gemfile"}, models.AppFileFields{Path: "example-app/Gemfile.lock"}, models.AppFileFields{Path: "example-app/ignore-me"}, models.AppFileFields{Path: "example-app/manifest.yml"}, } presentFiles = []resources.AppFileResource{ resources.AppFileResource{Path: "example-app/ignore-me"}, } appDir = filepath.Join(fixturesDir, "example-app.zip") zipper.UnzipReturns(nil) appFiles.AppFilesInDirReturns(allFiles, nil) appBitsRepo.GetApplicationFilesReturns(presentFiles, nil) }) AfterEach(func() { }) Context("when the input is a zipfile", func() { BeforeEach(func() { zipper.IsZipFileReturns(true) }) It("extracts the zip", func() { fileutils.TempDir("gather-files", func(tmpDir string, err error) { files, err := actor.GatherFiles(appDir, tmpDir) Expect(zipper.UnzipCallCount()).To(Equal(1))