Skip to content
This repository has been archived by the owner on Feb 16, 2021. It is now read-only.

Commit

Permalink
Cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
pascalberger committed Jul 18, 2020
1 parent 0490acd commit 977ddf6
Show file tree
Hide file tree
Showing 11 changed files with 297 additions and 212 deletions.
127 changes: 127 additions & 0 deletions src/Cake.Issues.PullRequests.Tests/IIssueExtensionsTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
namespace Cake.Issues.PullRequests.Tests
{
using System.Collections.Generic;
using System.Linq;
using Cake.Issues.Testing;
using Shouldly;
using Xunit;

public sealed class IIssueExtensionsTests
{
public sealed class TheSortWithDefaultPriorizationMethod
{
[Fact]
public void Should_Throw_If_Issues_Are_Null()
{
// Given
IEnumerable<IIssue> issues = null;

// When
var result =
Record.Exception(() =>
issues.SortWithDefaultPriorization());

// Then
result.IsArgumentNullException("issues");
}

[Fact]
public void Should_Order_By_Priority()
{
// Given
var issue1 =
IssueBuilder
.NewIssue("Message Foo", "ProviderType Foo", "ProviderName Foo")
.InFile(@"src\Cake.Issues.Tests\FakeIssueProvider.cs", 10)
.OfRule("Rule Foo")
.WithPriority(IssuePriority.Warning)
.Create();
var issue2 =
IssueBuilder
.NewIssue("Message Bar", "ProviderType Bar", "ProviderName Bar")
.InFile(@"src\Cake.Issues.Tests\FakeIssueProvider.cs", 12)
.OfRule("Rule Bar")
.WithPriority(IssuePriority.Error)
.Create();
var issues =
new List<IIssue>
{
issue1,
issue2,
};

// When
var result = issues.SortWithDefaultPriorization();

// Then
result.First().ShouldBe(issue2);
result.Last().ShouldBe(issue1);
}

[Fact]
public void Should_Order_By_Existance_Of_FilePath()
{
// Given
var issue1 =
IssueBuilder
.NewIssue("Message Foo", "ProviderType Foo", "ProviderName Foo")
.OfRule("Rule Foo")
.WithPriority(IssuePriority.Warning)
.Create();
var issue2 =
IssueBuilder
.NewIssue("Message Bar", "ProviderType Bar", "ProviderName Bar")
.InFile(@"src\Cake.Issues.Tests\FakeIssueProvider.cs", 12)
.OfRule("Rule Bar")
.WithPriority(IssuePriority.Warning)
.Create();
var issues =
new List<IIssue>
{
issue1,
issue2,
};

// When
var result = issues.SortWithDefaultPriorization();

// Then
result.First().ShouldBe(issue2);
result.Last().ShouldBe(issue1);
}

[Fact]
public void Should_Order_By_FilePath()
{
// Given
var issue1 =
IssueBuilder
.NewIssue("Message Foo", "ProviderType Foo", "ProviderName Foo")
.OfRule("Rule Foo")
.InFile(@"src\Cake.Issues.Tests\B.cs", 12)
.WithPriority(IssuePriority.Warning)
.Create();
var issue2 =
IssueBuilder
.NewIssue("Message Bar", "ProviderType Bar", "ProviderName Bar")
.InFile(@"src\Cake.Issues.Tests\A.cs", 12)
.OfRule("Rule Bar")
.WithPriority(IssuePriority.Warning)
.Create();
var issues =
new List<IIssue>
{
issue1,
issue2,
};

// When
var result = issues.SortWithDefaultPriorization();

// Then
result.First().ShouldBe(issue2);
result.Last().ShouldBe(issue1);
}
}
}
}
116 changes: 40 additions & 76 deletions src/Cake.Issues.PullRequests.Tests/IssueFiltererTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -478,16 +478,10 @@ public sealed class ForPropertyMaxIssuesToPostAcrossRunsForEachProvider
public void Should_Limit_Messages_To_Maximum()
{
// Given
var fixture = new IssueFiltererFixture
{
Settings =
{
ProviderIssueLimits = new Dictionary<string, IProviderIssueLimits>
{
{ "ProviderType Foo", new ProviderIssueIssueLimits(maxIssuesToPostAcrossRuns: 2) },
}
}
};
var fixture = new IssueFiltererFixture();
fixture.Settings.ProviderIssueLimits.Add(
"ProviderType Foo",
new ProviderIssueIssueLimits(maxIssuesToPostAcrossRuns: 2));

var newIssue1 =
IssueBuilder
Expand Down Expand Up @@ -557,16 +551,10 @@ public void Should_Limit_Messages_To_Maximum()
public void Should_Limit_Messages_To_Maximum_By_Priority()
{
// Given
var fixture = new IssueFiltererFixture
{
Settings =
{
ProviderIssueLimits = new Dictionary<string, IProviderIssueLimits>
{
{ "ProviderType Foo", new ProviderIssueIssueLimits(maxIssuesToPostAcrossRuns: 2) },
}
}
};
var fixture = new IssueFiltererFixture();
fixture.Settings.ProviderIssueLimits.Add(
"ProviderType Foo",
new ProviderIssueIssueLimits(maxIssuesToPostAcrossRuns: 2));

var issue1 =
IssueBuilder
Expand Down Expand Up @@ -629,16 +617,10 @@ public void Should_Limit_Messages_To_Maximum_By_Priority()
public void Should_Limit_Messages_To_Maximum_By_FilePath()
{
// Given
var fixture = new IssueFiltererFixture
{
Settings =
{
ProviderIssueLimits = new Dictionary<string, IProviderIssueLimits>
{
{ "ProviderType Foo", new ProviderIssueIssueLimits(maxIssuesToPostAcrossRuns: 2) },
}
}
};
var fixture = new IssueFiltererFixture();
fixture.Settings.ProviderIssueLimits.Add(
"ProviderType Foo",
new ProviderIssueIssueLimits(maxIssuesToPostAcrossRuns: 2));

var issue1 =
IssueBuilder
Expand Down Expand Up @@ -712,17 +694,13 @@ public sealed class ForPropertyMaxIssuesToPostForEachProvider
public void Should_Limit_Messages_To_Maximum()
{
// Given
var fixture = new IssueFiltererFixture
{
Settings =
{
ProviderIssueLimits = new Dictionary<string, IProviderIssueLimits>
{
{ "ProviderTypeA", new ProviderIssueIssueLimits(maxIssuesToPost: 1) },
{ "ProviderTypeB", new ProviderIssueIssueLimits(maxIssuesToPost: 1) }
}
}
};
var fixture = new IssueFiltererFixture();
fixture.Settings.ProviderIssueLimits.Add(
"ProviderTypeA",
new ProviderIssueIssueLimits(maxIssuesToPost: 1));
fixture.Settings.ProviderIssueLimits.Add(
"ProviderTypeB",
new ProviderIssueIssueLimits(maxIssuesToPost: 1));

var issue1 =
IssueBuilder
Expand Down Expand Up @@ -775,17 +753,13 @@ public void Should_Limit_Messages_To_Maximum()
public void Should_Limit_Messages_To_Maximum_By_Priority()
{
// Given
var fixture = new IssueFiltererFixture
{
Settings =
{
ProviderIssueLimits = new Dictionary<string, IProviderIssueLimits>
{
{ "ProviderTypeA", new ProviderIssueIssueLimits(maxIssuesToPost: 1) },
{ "ProviderTypeB", new ProviderIssueIssueLimits(maxIssuesToPost: 1) }
}
}
};
var fixture = new IssueFiltererFixture();
fixture.Settings.ProviderIssueLimits.Add(
"ProviderTypeA",
new ProviderIssueIssueLimits(maxIssuesToPost: 1));
fixture.Settings.ProviderIssueLimits.Add(
"ProviderTypeB",
new ProviderIssueIssueLimits(maxIssuesToPost: 1));

var issue1 =
IssueBuilder
Expand Down Expand Up @@ -837,17 +811,13 @@ public void Should_Limit_Messages_To_Maximum_By_Priority()
public void Should_Limit_Messages_To_Maximum_By_FilePath()
{
// Given
var fixture = new IssueFiltererFixture
{
Settings =
{
ProviderIssueLimits = new Dictionary<string, IProviderIssueLimits>
{
{ "ProviderTypeA", new ProviderIssueIssueLimits(maxIssuesToPost: 1) },
{ "ProviderTypeB", new ProviderIssueIssueLimits(maxIssuesToPost: 1) }
}
}
};
var fixture = new IssueFiltererFixture();
fixture.Settings.ProviderIssueLimits.Add(
"ProviderTypeA",
new ProviderIssueIssueLimits(maxIssuesToPost: 1));
fixture.Settings.ProviderIssueLimits.Add(
"ProviderTypeB",
new ProviderIssueIssueLimits(maxIssuesToPost: 1));

var issue1 =
IssueBuilder
Expand Down Expand Up @@ -893,22 +863,17 @@ public void Should_Limit_Messages_To_Maximum_By_FilePath()
fixture.Log.Entries.ShouldContain(x => x.Message == "1 issue(s) were filtered to match the global limit of 1 issues which should be reported for issue provider 'ProviderTypeB'");
}


[Fact]
public void Should_Limit_Messages_To_Maximum_With_Different_Maximum_Limits()
{
// Given
var fixture = new IssueFiltererFixture
{
Settings =
{
ProviderIssueLimits = new Dictionary<string, IProviderIssueLimits>
{
{ "ProviderTypeA", new ProviderIssueIssueLimits(maxIssuesToPost: 1) },
{ "ProviderTypeB", new ProviderIssueIssueLimits(maxIssuesToPost: 3) }
}
}
};
var fixture = new IssueFiltererFixture();
fixture.Settings.ProviderIssueLimits.Add(
"ProviderTypeA",
new ProviderIssueIssueLimits(maxIssuesToPost: 1));
fixture.Settings.ProviderIssueLimits.Add(
"ProviderTypeB",
new ProviderIssueIssueLimits(maxIssuesToPost: 3));

var issue1 =
IssueBuilder
Expand Down Expand Up @@ -974,7 +939,6 @@ public void Should_Limit_Messages_To_Maximum_With_Different_Maximum_Limits()
.WithPriority(IssuePriority.Warning)
.Create();


// When
var issues =
fixture.FilterIssues(
Expand Down
Loading

0 comments on commit 977ddf6

Please sign in to comment.