Exemplo n.º 1
0
        private static void SetupBackend()
        {
            var backend = new InMemoryBackend();

            backend.AddTranslation("en", "translation", "exampleKey", "My English text.");
            backend.AddTranslation("de", "translation", "exampleKey", "Mein deutscher text.");

            _backend = backend;
        }
Exemplo n.º 2
0
        public void SetUp()
        {
            _backend = new InMemoryBackend();

            _backend.AddTranslation("en-US", "test", "Value1", "Translated value 1");
            _backend.AddTranslation("en-US", "test", "Value2", "Translated value 2");
            _backend.AddTranslation("en-US", "test", "SectionA.Value1", "Translated section value 1");
            _backend.AddTranslation("en-US", "test", "SectionA.Value2", "Translated section value 2");

            _backend.AddTranslation("de", "test", "Value1", "Translated value 1");
            _backend.AddTranslation("de", "test", "Value2", "Translated value 2");
            _backend.AddTranslation("de", "test", "SectionA.Value1", "Translated section value 1");
            _backend.AddTranslation("de", "test", "SectionA.Value2", "Translated section value 2");
        }
Exemplo n.º 3
0
        public void ResolveDiffsPageDeletion(ObjectRepository sut, Application application, Signature signature, string message, Func <RepositoryDescription, IComputeTreeChanges> computeTreeChangesFactory, InMemoryBackend inMemoryBackend)
        {
            // Arrange
            var originalCommit      = sut.SaveInNewRepository(signature, message, RepositoryFixture.GetRepositoryDescription(inMemoryBackend));
            var page                = application.Pages[1];
            var modifiedApplication = application.With(p => p.Pages.Delete(page));
            var commit              = sut.Commit(modifiedApplication.Repository, signature, message);

            // Act
            var changes = computeTreeChangesFactory(RepositoryFixture.GetRepositoryDescription(inMemoryBackend))
                          .Compare(originalCommit, commit);

            // Assert
            Assert.That(changes.Modified, Is.Empty);
            Assert.That(changes.Added, Is.Empty);
            Assert.That(changes, Has.Count.EqualTo(MetadataCustomization.DefaultFieldPerPageCount + 1));
            var pageDeletion = changes.Deleted.FirstOrDefault(o => o.Old is Page);

            Assert.That(pageDeletion, Is.Not.Null);
            Assert.That(pageDeletion.New, Is.Null);
            Assert.That(pageDeletion.Old.Name, Is.EqualTo(page.Name));
        }
Exemplo n.º 4
0
        public void ResolveDiffsFieldDeletion(ObjectRepository sut, Page page, Signature signature, string message, Func <RepositoryDescription, IComputeTreeChanges> computeTreeChangesFactory, InMemoryBackend inMemoryBackend)
        {
            // Arrange
            var originalCommit = sut.SaveInNewRepository(signature, message, RepositoryFixture.GetRepositoryDescription(inMemoryBackend));
            var field          = page.Fields[5];
            var modifiedPage   = page.With(p => p.Fields.Delete(field));
            var commit         = sut.Commit(modifiedPage.Repository, signature, message);

            // Act
            var changes = computeTreeChangesFactory(RepositoryFixture.GetRepositoryDescription(inMemoryBackend))
                          .Compare(originalCommit, commit);

            // Assert
            Assert.That(changes, Has.Count.EqualTo(1));
            Assert.That(changes[0].Status, Is.EqualTo(ChangeKind.Deleted));
            Assert.That(changes[0].New, Is.Null);
            Assert.That(changes[0].Old.Name, Is.EqualTo(field.Name));
        }
Exemplo n.º 5
0
        public void CommitPageNameUpdate(ObjectRepository sut, Page page, Signature signature, string message, InMemoryBackend inMemoryBackend)
        {
            // Act
            sut.SaveInNewRepository(signature, message, RepositoryFixture.GetRepositoryDescription(inMemoryBackend));
            var modifiedPage = page.With(p => p.Name == "modified");
            var commit       = sut.Commit(modifiedPage.Repository, signature, message);

            // Assert
            Assert.That(commit, Is.Not.Null);
        }
Exemplo n.º 6
0
        public void CreateAndLoadRepository(IObjectRepositoryLoader loader, ObjectRepository sut, Signature signature, string message, InMemoryBackend inMemoryBackend)
        {
            // Act
            sut.SaveInNewRepository(signature, message, RepositoryFixture.GetRepositoryDescription(inMemoryBackend));
            var loaded = loader.LoadFrom <ObjectRepository>(RepositoryFixture.GetRepositoryDescription(inMemoryBackend));

            // Assert
            PAssert.IsTrue(AreFunctionnally.Equivalent <ObjectRepository>(() => sut == loaded));
            foreach (var apps in sut.Applications.OrderBy(v => v.Id).Zip(loaded.Applications.OrderBy(v => v.Id), (a, b) => new { source = a, desctination = b }))
            {
                PAssert.IsTrue(AreFunctionnally.Equivalent <Application>(() => apps.source == apps.desctination));
            }
        }
Exemplo n.º 7
0
        public void PostCommitWhenPropertyChangeGetsFired(GitHooks sut, ObjectRepository instance, Page page, Signature signature, string message, InMemoryBackend inMemoryBackend)
        {
            // Arrange
            CommitCompletedEventArgs lastEvent = null;

            sut.CommitCompleted += (_, args) => lastEvent = args;

            // Act
            instance.SaveInNewRepository(signature, message, RepositoryFixture.GetRepositoryDescription(inMemoryBackend));
            var modifiedPage = page.With(p => p.Name == "modified");
            var commit       = instance.Commit(modifiedPage.Repository, signature, message);

            // Assert
            Assert.That(lastEvent, Is.Not.Null);
            Assert.That(lastEvent.CommitId, Is.EqualTo(commit));
        }
Exemplo n.º 8
0
        public void PreCommitCancelsCommitIfRequested(GitHooks sut, ObjectRepository instance, Signature signature, string message, InMemoryBackend inMemoryBackend)
        {
            // Arrange
            sut.CommitStarted += (_, args) => args.Cancel = true;

            // Act
            var commit = instance.SaveInNewRepository(signature, message, RepositoryFixture.GetRepositoryDescription(inMemoryBackend));

            // Assert
            Assert.That(commit, Is.Null);
        }
Exemplo n.º 9
0
        public void PreCommitWhenPropertyChangeGetsFired(GitHooks sut, ObjectRepository instance, Page page, LinkField field, Page newLinkedPage, Signature signature, string message, InMemoryBackend inMemoryBackend)
        {
            // Arrange
            CommitStartedEventArgs lastEvent = null;

            sut.CommitStarted += (_, args) => lastEvent = args;

            // Act
            instance.SaveInNewRepository(signature, message, RepositoryFixture.GetRepositoryDescription(inMemoryBackend));
            var composer = new PredicateComposer()
                           .And(field, f => f.Name == "modified field name" && f.PageLink == new LazyLink <Page>(newLinkedPage))
                           .And(page, p => p.Name == "modified page name");
            var modified = field.With(composer);

            instance.Commit(modified.Repository, signature, message);

            // Assert
            Assert.That(lastEvent, Is.Not.Null);
            Assert.That(lastEvent.Changes, Has.Count.EqualTo(2));
        }
Exemplo n.º 10
0
        public void LoadLinkField(IObjectRepositoryLoader loader, ObjectRepository sut, LinkField linkField, Signature signature, string message, InMemoryBackend inMemoryBackend)
        {
            // Act
            sut.SaveInNewRepository(signature, message, RepositoryFixture.GetRepositoryDescription(inMemoryBackend));
            var loaded          = loader.LoadFrom <ObjectRepository>(RepositoryFixture.GetRepositoryDescription(inMemoryBackend));
            var loadedLinkField = (LinkField)loaded.GetFromGitPath(linkField.GetFolderPath());

            // Assert
            Assert.That(loadedLinkField.PageLink.Link.Id, Is.EqualTo(linkField.PageLink.Link.Id));
        }