Example #1
0
        public void PublishToXlsmIsRepeatable()
        {
            var fso = new FakeSystemOperations();

            fso.FileWriteAllBytes("Book1.xlsm", Files.PublishToXlsmIsRepeatableFiles.Book1);
            fso.FileWriteAllBytes("repo/Module1.bas", Files.PublishToXlsmIsRepeatableFiles.Module1);
            fso.FileWriteAllBytes("repo/Project.ini", Files.PublishToXlsmIsRepeatableFiles.Project);
            fso.FileWriteAllBytes("repo/Sheet1.cls", Files.PublishToXlsmIsRepeatableFiles.Sheet1);
            fso.FileWriteAllBytes("repo/Sheet2.cls", Files.PublishToXlsmIsRepeatableFiles.Sheet2);
            fso.FileWriteAllBytes("repo/ThisWorkbook.cls", Files.PublishToXlsmIsRepeatableFiles.ThisWorkbook);

            var session = new QuickSession
            {
                Action     = ActionType.Publish,
                AutoRun    = true,
                FilePath   = "Book1.xlsm",
                FolderPath = "repo/"
            };
            var settings = new QuickSessionSettings
            {
                AddNewDocumentsToFile   = false,
                AfterExtractHook        = null,
                BeforePublishHook       = null,
                DeleteDocumentsFromFile = false,
                IgnoreEmpty             = false
            };

            using (var actor = new ActiveSession(fso, session, settings))
            {
                actor.Apply(actor.GetPatches().ToList());
            }
            var fileContentsAfterPublish1 = fso.FileReadAllBytes("Book1.xlsm");

            fso.FileWriteAllBytes("Book1.xlsm", Files.PublishToXlsmIsRepeatableFiles.Book1);

            using (var actor = new ActiveSession(fso, session, settings))
            {
                actor.Apply(actor.GetPatches().ToList());
            }
            var fileContentsAfterPublish2 = fso.FileReadAllBytes("Book1.xlsm");

            Assert.That(fileContentsAfterPublish1, Is.EqualTo(fileContentsAfterPublish2));
        }