Ejemplo n.º 1
0
            public void ToListReport_Should_ThrowException_When_InvalidTranslationName()
            {
                var errorsCollection = new ErrorsCollection();

                var nestedErrorsCollection = new ErrorsCollection();

                nestedErrorsCollection.AddError(new Error("test123"));
                nestedErrorsCollection.AddError(new Error("test321"));
                nestedErrorsCollection.AddError("inner", new Error("foo"));
                nestedErrorsCollection.AddError("inner", new Error("bar"));

                errorsCollection.AddError("test", nestedErrorsCollection);

                var report = ResultsTestHelpers.MockValidationResult(errorsCollection, translations: new[]
                {
                    new Translation("test", new Dictionary <string, string> {
                        { "foo", "FOO" }, { "test123", "TEST123" }
                    }),
                    new Translation("test1", new Dictionary <string, string> {
                        { "bar", "BAR" }, { "test321", "TEST321" }
                    })
                });

                Assert.Throws <TranslationNotFoundException>(() => { report.ToListReport("test_non_existing"); });
            }
Ejemplo n.º 2
0
        public void ToListReport_Should_LimitDepth(int maxDepth, bool expectException)
        {
            var level3 = new ErrorsCollection();

            level3.AddError(new Error("error"));

            var level2 = new ErrorsCollection();

            level2.AddError("member2", level3);

            var level1 = new ErrorsCollection();

            level1.AddError("member1", level2);

            var errorsCollection = new ErrorsCollection();

            errorsCollection.AddError("member", level1);

            var result = ResultsTestHelpers.MockValidationResult(errorsCollection, new ExecutionContextStub {
                MaxDepth = maxDepth, CollectionForceKey = "*", RequiredError = new Error("Required")
            });

            if (expectException)
            {
                Assert.Throws <MaxDepthExceededException>(() => { result.ToListReport(); });
            }
            else
            {
                result.ToListReport();
            }
        }
Ejemplo n.º 3
0
            public void ToListReport_Should_Translate()
            {
                var errorsCollection = new ErrorsCollection();

                var nestedErrorsCollection = new ErrorsCollection();

                nestedErrorsCollection.AddError(new Error("test123"));
                nestedErrorsCollection.AddError(new Error("test321"));
                nestedErrorsCollection.AddError("inner", new Error("foo"));
                nestedErrorsCollection.AddError("inner", new Error("bar"));

                errorsCollection.AddError("test", nestedErrorsCollection);

                var report = ResultsTestHelpers.MockValidationResult(errorsCollection, translations: new[]
                {
                    new Translation("test", new Dictionary <string, string> {
                        { "foo", "FOO" }, { "test123", "TEST123" }
                    }),
                    new Translation("test1", new Dictionary <string, string> {
                        { "bar", "BAR" }, { "test321", "TEST321" }
                    })
                }).ToListReport("test");

                ExpectMembersInReport(report, "", new[] { "test" });

                ExpectMessagesInReport(report, "test", new[] { "TEST123", "test321" });

                ExpectMembersInReport(report, "test", new[] { "inner" });

                ExpectMessagesInReport(report, "test.inner", new[] { "FOO", "bar" });
            }
Ejemplo n.º 4
0
        public void ToModelReport_Should_Generate_RootMessages_And_MemberMessages_WithoutDuplicates()
        {
            var draft = new ErrorsCollection();

            draft.AddError(new Error("foo"));
            draft.AddError(new Error("bar"));
            draft.AddError(new Error("bar"));
            draft.AddError(new Error("foo"));

            var innerDraft = new ErrorsCollection();

            innerDraft.AddError("inner", new Error("test123"));
            innerDraft.AddError("inner", new Error("test321"));
            innerDraft.AddError("inner", new Error("test321"));
            innerDraft.AddError("inner", new Error("test123"));

            draft.AddError("test", innerDraft);

            var report = ResultsTestHelpers.MockValidationResult(draft).ToModelReport() as ModelReport;

            ExpectMembersInReport(report, new[] { string.Empty, "test" });

            // ReSharper disable once PossibleNullReferenceException
            ExpectMessagesInList(report[string.Empty] as ModelReportErrorsList, new[] { "foo", "bar" });

            ExpectMembersInReport(report["test"] as ModelReport, new[] { "inner" });

            // ReSharper disable once PossibleNullReferenceException
            ExpectMessagesInList((report["test"] as ModelReport)["inner"] as ModelReportErrorsList, new[] { "test123", "test321" });
        }
Ejemplo n.º 5
0
            public void ToModelReport_Should_Translate()
            {
                var draft = new ErrorsCollection();

                draft.AddError(new Error("foo"));
                draft.AddError(new Error("bar"));

                var innerDraft = new ErrorsCollection();

                innerDraft.AddError("inner", new Error("test123"));
                innerDraft.AddError("inner", new Error("test321"));

                draft.AddError("test", innerDraft);

                var report = ResultsTestHelpers.MockValidationResult(draft, translations: new[]
                {
                    new Translation("test", new Dictionary <string, string> {
                        { "foo", "FOO" }, { "test123", "TEST123" }
                    }),
                    new Translation("test1", new Dictionary <string, string> {
                        { "bar", "BAR" }, { "test321", "TEST321" }
                    })
                }).ToModelReport("test") as ModelReport;

                ExpectMembersInReport(report, new[] { string.Empty, "test" });

                // ReSharper disable once PossibleNullReferenceException
                ExpectMessagesInList(report[string.Empty] as ModelReportErrorsList, new[] { "FOO", "bar" });

                ExpectMembersInReport(report["test"] as ModelReport, new[] { "inner" });

                // ReSharper disable once PossibleNullReferenceException
                ExpectMessagesInList((report["test"] as ModelReport)["inner"] as ModelReportErrorsList, new[] { "TEST123", "test321" });
            }
Ejemplo n.º 6
0
        public void ToModelReport_Should_ReturnEmptyReport_When_NoErrors()
        {
            var errorsCollection = new ErrorsCollection();

            var result = ResultsTestHelpers.MockValidationResult(errorsCollection);

            Assert.Same(ModelReport.Empty, result.ToModelReport());
        }
Ejemplo n.º 7
0
        public void ToListReport_Should_ReturnEmptyReport_When_NoErrors()
        {
            var errorsCollection = new ErrorsCollection();

            var result = ResultsTestHelpers.MockValidationResult(errorsCollection);

            var report = result.ToListReport();

            Assert.Empty(report);
        }
Ejemplo n.º 8
0
        public void ToListReport_Should_Generate_RootMessages()
        {
            var errorsCollection = new ErrorsCollection();

            errorsCollection.AddError(new Error("test123"));
            errorsCollection.AddError(new Error("test321"));
            errorsCollection.AddError(new Error("foo"));
            errorsCollection.AddError(new Error("bar"));

            var report = ResultsTestHelpers.MockValidationResult(errorsCollection).ToListReport();

            ExpectMessagesInReport(report, "", new[] { "test123", "test321", "foo", "bar" });
        }
Ejemplo n.º 9
0
        public void ToModelReport_Should_Generate_RootMessages()
        {
            var draft = new ErrorsCollection();

            draft.AddError(new Error("test123"));
            draft.AddError(new Error("test321"));
            draft.AddError(new Error("foo"));
            draft.AddError(new Error("bar"));

            var report = ResultsTestHelpers.MockValidationResult(draft).ToModelReport() as ModelReportErrorsList;

            ExpectMessagesInList(report, new[] { "test123", "test321", "foo", "bar" });
        }
Ejemplo n.º 10
0
        public void ToModelReport_Should_Generate_MemberMessages_WithoutDuplicates()
        {
            var draft = new ErrorsCollection();

            draft.AddError("test", new Error("bar"));
            draft.AddError("test", new Error("foo"));
            draft.AddError("test", new Error("foo"));
            draft.AddError("test", new Error("bar"));

            var report = (ModelReport)ResultsTestHelpers.MockValidationResult(draft).ToModelReport();

            ExpectMembersInReport(report, new[] { "test" });

            ExpectMessagesInList((ModelReportErrorsList)report["test"], new[] { "bar", "foo" });
        }
Ejemplo n.º 11
0
        public void ToListReport_Should_Generate_NestedLevel()
        {
            var errorsCollection = new ErrorsCollection();

            var nestedErrorsCollection = new ErrorsCollection();

            nestedErrorsCollection.AddError(new Error("test123"));
            nestedErrorsCollection.AddError(new Error("test321"));
            nestedErrorsCollection.AddError("inner", new Error("foo"));
            nestedErrorsCollection.AddError("inner", new Error("bar"));

            errorsCollection.AddError("test", nestedErrorsCollection);

            var report = ResultsTestHelpers.MockValidationResult(errorsCollection).ToListReport();

            ExpectMembersInReport(report, "", new[] { "test" });

            ExpectMessagesInReport(report, "test", new[] { "test123", "test321" });

            ExpectMembersInReport(report, "test", new[] { "inner" });

            ExpectMessagesInReport(report, "test.inner", new[] { "foo", "bar" });
        }