Update to latest packages and show examples
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
using AwesomeAssertions;
|
||||
using GerstITS.Examples.Logic.Customers;
|
||||
using GerstITS.Examples.Logic.Shared.Search.Sorting;
|
||||
using GerstITS.Search;
|
||||
using GerstITS.TestFramework;
|
||||
using Xunit;
|
||||
|
||||
namespace GerstITS.Examples.Tests.Shared.Search.Sorting;
|
||||
|
||||
[TestCategory(TestCategories.Unit)]
|
||||
public sealed class SortingProviderTest
|
||||
{
|
||||
#region Tests
|
||||
|
||||
[Fact]
|
||||
public void If_customers_are_sorted_descending___The_order_is_reversed()
|
||||
{
|
||||
var query = CreateCustomers().AsQueryable();
|
||||
var sorting = new CustomerSearchFilter { SortBy = nameof(Customer.LastName), SortDirection = SortingDirections.Descending };
|
||||
|
||||
var sorted = new SortingProvider().Sort(query, sorting);
|
||||
|
||||
sorted.First().LastName.Should().Be("Zimmermann");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void If_the_sort_property_is_unknown___The_query_is_left_unchanged()
|
||||
{
|
||||
var query = CreateCustomers().AsQueryable();
|
||||
var sorting = new CustomerSearchFilter { SortBy = "Unknown" };
|
||||
|
||||
var sorted = new SortingProvider().Sort(query, sorting);
|
||||
|
||||
sorted.Last().LastName.Should().Be("Zimmermann");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void If_the_item_type_is_not_sortable___It_cannot_be_sorted()
|
||||
{
|
||||
new SortingProvider().CanSort(new[] { "a" }.AsQueryable()).Should().BeFalse();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
private static IEnumerable<Customer> CreateCustomers()
|
||||
{
|
||||
return new[]
|
||||
{
|
||||
new Customer { FirstName = "Anna", LastName = "Albrecht" },
|
||||
new Customer { FirstName = "Zoe", LastName = "Zimmermann" }
|
||||
};
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
Reference in New Issue
Block a user