public void SubjectLength_Is_sum(CommitizenViewModel sut)
        {
            var actualLength = sut.SubjectLength;

            // Assert
            actualLength.ShouldBe(sut.Subject.Length + sut.Scope.Length + sut.SelectedCommitType.Type.Length + 1);
        }
Пример #2
0
        public void GetComment_With_No_SelectedCommitType_ShouldBe_Empty(IUserSettings userSettings)
        {
            var sut = new CommitizenViewModel(userSettings);

            sut.SelectedCommitType = null;
            sut.GetComment().ShouldBeEmpty();
        }
        public void Proceed_Sets_Autocommit(string autoCommit, bool expected, CommitizenViewModel sut)
        {
            // Assert
            sut.ProceedExecuted += (s, b) => b.ShouldBe(expected);

            // Act
            sut.Proceed(autoCommit);
        }
        public void SubjectLength_Is_Zero_If_No_Selected(CommitizenViewModel sut)
        {
            // Act
            sut.Subject            = string.Empty;
            sut.Scope              = string.Empty;
            sut.SelectedCommitType = null;

            // Assert
            sut.SubjectLength.ShouldBe(0);
        }
        public void SubjectLength_Should_DependsOn_Subject(CommitizenViewModel sut)
        {
            var actualLength = sut.SubjectLength;

            // Act
            sut.Subject = sut.Subject.Substring(0, sut.Subject.Length - 1);

            // Assert
            sut.SubjectLength.ShouldBe(actualLength - 1);
        }
Пример #6
0
        public void GetComment_ShouldNot_Take_Last_Space_If_Over_ChunkSize(IUserSettings userSettings)
        {
            userSettings.MaxLineLength = 10;

            var sut = new CommitizenViewModel(userSettings);

            sut.SelectedCommitType = sut.CommitTypes.First(f => f.Type.Contains("feat"));
            sut.Scope = "test";
            sut.Body  = "test";
            sut.Body += " tenwordsss tenwordsss";
            sut.GetComment().ShouldBe("feat(test): \n\ntest\ntenwordsss\ntenwordsss");
        }
        public void Copy_Should_Contains_Comment_Message(CommitizenViewModel sut)
        {
            Clipboard.Clear();
            var expectedComment = sut.GetComment();

            // Act
            sut.CopyMessage(null);

            // Assert
            var comment = Clipboard.GetText();

            comment.ShouldBe(expectedComment);
        }
        public void SubjectLength_Should_DependsOn_CommitType(CommitizenViewModel sut)
        {
            sut.SelectedCommitType = sut.CommitTypes.First();
            var actualLength = sut.SubjectLength;

            // Act
            sut.SelectedCommitType = sut.CommitTypes.Skip(1).First();

            // Assert
            int differenceBetweenSubjectLength = Math.Abs(sut.SubjectLength - actualLength);
            int differenceBetweenTypeLength    = Math.Abs(sut.CommitTypes.First().Type.Length - sut.CommitTypes.Skip(1).First().Type.Length);

            differenceBetweenSubjectLength.ShouldBe(differenceBetweenTypeLength);
        }
        void TestPropertyChangedFor(CommitizenViewModel sut, Action <CommitizenViewModel> action, string[] changed)
        {
            var calledSoFar = new List <string>();

            sut.PropertyChanged += (s, e) =>
            {
                // Assert
                e.PropertyName.ShouldBeOneOf(changed);
                calledSoFar.Add(e.PropertyName);
            };

            // Act
            action(sut);

            // Assert
            calledSoFar.ShouldBe(changed, ignoreOrder: true);
        }
        public void Reset_Should_Clear_Form(CommitizenViewModel sut)
        {
            sut.Body.ShouldNotBeNullOrWhiteSpace();
            sut.BreakingChanges.ShouldNotBeNullOrWhiteSpace();
            sut.IssuesAffected.ShouldNotBeNullOrWhiteSpace();
            sut.Scope.ShouldNotBeNullOrWhiteSpace();
            sut.Subject.ShouldNotBeNullOrWhiteSpace();
            var highlightChanges = sut.HighlighBreakingChanges;

            // Act
            sut.Reset(null);

            // Assert
            sut.Body.ShouldBeNullOrWhiteSpace();
            sut.BreakingChanges.ShouldBeNullOrWhiteSpace();
            sut.IssuesAffected.ShouldBeNullOrWhiteSpace();
            sut.Scope.ShouldBeNullOrWhiteSpace();
            sut.Subject.ShouldBeNullOrWhiteSpace();

            if (highlightChanges)
            {
                sut.HighlighBreakingChanges.ShouldBeFalse();
            }
        }
 public void GetComment_Should_Prefix_Issues_If_Number(CommitizenViewModel sut)
 {
     sut.IssuesAffected = "666";
     sut.GetComment().ShouldEndWith("\n\ncloses #666");
 }
 public void Subject_Changes_Should_Trigger_SubjectLength_Color_Change_And_OnProceed(CommitizenViewModel sut)
 {
     TestPropertyChangedFor(sut, s => s.Subject = "sub", new[] { "Subject", "SubjectLength", "SubjectColor", "OnProceed" });
 }
 public void SelectedCommitType_Changes_Should_Trigger_SubjectLength_Color_Change_And_OnProceed(CommitizenViewModel sut)
 {
     TestPropertyChangedFor(sut, s => s.SelectedCommitType = s.CommitTypes.Last(), new[] { "SelectedCommitType", "SubjectLength", "SubjectColor", "OnProceed", "OnCopy", "OnReset" });
 }
 public void Scope_Changes_Should_Trigger_SubjectLength_Color_Change(CommitizenViewModel sut)
 {
     TestPropertyChangedFor(sut, (s) => s.Scope = "abc", new[] { "Scope", "SubjectLength", "SubjectColor" });
 }
 public void Should_Contains_CommitTypes_List(CommitizenViewModel sut)
 {
     sut.CommitTypes.Count.ShouldBeGreaterThan(0);
 }
 public void CanProcess_If_CommitType_And_Subject_Are_Filled(CommitizenViewModel sut)
 {
     sut.SelectedCommitType.ShouldNotBeNull();
     sut.Subject.ShouldNotBeNullOrEmpty();
     sut.CanProceed(null).ShouldBe(true);
 }
 public void CantProcess_If_CommitType_IsNot_Selected(CommitizenViewModel sut)
 {
     sut.SelectedCommitType = null;
     sut.CanProceed(null).ShouldBe(false);
 }
 public void CantProcess_If_Subject_Empty(CommitizenViewModel sut)
 {
     sut.Subject = string.Empty;
     sut.CanProceed(null).ShouldBe(false);
 }
 public void GetComment_ShouldNot_Prefix_Issues_If_NotNumber(CommitizenViewModel sut)
 {
     sut.IssuesAffected = "666 & 999";
     sut.GetComment().ShouldEndWith($"\n\ncloses {sut.IssuesAffected}");
 }
 public void GetComment_With_Scope(CommitizenViewModel sut)
 {
     sut.GetComment().ShouldStartWith($"{sut.SelectedCommitType.Type}({sut.Scope}): ");
 }
 public void GetComment_Should_Suffix_Type_If_Highlight_BreakingChanges(CommitizenViewModel sut)
 {
     sut.BreakingChanges         = "no more login !";
     sut.HighlighBreakingChanges = true;
     sut.GetComment().ShouldStartWith($"{sut.SelectedCommitType.Type}({sut.Scope})!:");
 }
 public void GetComment_Should_Prefix_BreakingChanges(CommitizenViewModel sut)
 {
     sut.BreakingChanges = "no more login !";
     sut.GetComment().ShouldContain($"BREAKING CHANGE: {sut.BreakingChanges}");
 }
 public void GetComment_With_No_Body(CommitizenViewModel sut)
 {
     sut.IssuesAffected = sut.Body = sut.BreakingChanges = null;
     sut.GetComment().ShouldBe($"{sut.SelectedCommitType.Type}({sut.Scope}): {sut.Subject}");
 }