Refactor to introduce nullable types and reduce compiler warnings (#801)

* Introduce nullable types to Core, Infrastructure and PublicApi projects

* Refactor unit tests

* Fixed failing tests

* Introduce Parameter object for CatalogItem update method

* Refactor CataloItemDetails param object

* Refactor following PR comments
This commit is contained in:
Philippe Vaillancourt
2022-10-04 16:57:40 +01:00
committed by GitHub
parent aa6305eab1
commit a72dd775ee
51 changed files with 168 additions and 256 deletions

View File

@@ -1,6 +1,4 @@
using System.Collections.Generic;
using System.Linq;
using Microsoft.eShopWeb.ApplicationCore.Entities;
using Microsoft.eShopWeb.ApplicationCore.Entities;
using Xunit;
namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Specifications;
@@ -12,9 +10,7 @@ public class CatalogFilterPaginatedSpecification
{
var spec = new eShopWeb.ApplicationCore.Specifications.CatalogFilterPaginatedSpecification(0, 10, null, null);
var result = GetTestCollection()
.AsQueryable()
.Where(spec.WhereExpressions.FirstOrDefault().Filter);
var result = spec.Evaluate(GetTestCollection());
Assert.NotNull(result);
Assert.Equal(4, result.ToList().Count);
@@ -25,9 +21,7 @@ public class CatalogFilterPaginatedSpecification
{
var spec = new eShopWeb.ApplicationCore.Specifications.CatalogFilterPaginatedSpecification(0, 10, 1, 1);
var result = GetTestCollection()
.AsQueryable()
.Where(spec.WhereExpressions.FirstOrDefault().Filter);
var result = spec.Evaluate(GetTestCollection()).ToList();
Assert.NotNull(result);
Assert.Equal(2, result.ToList().Count);

View File

@@ -19,9 +19,7 @@ public class CatalogFilterSpecification
{
var spec = new eShopWeb.ApplicationCore.Specifications.CatalogFilterSpecification(brandId, typeId);
var result = GetTestItemCollection()
.AsQueryable()
.Where(spec.WhereExpressions.FirstOrDefault().Filter);
var result = spec.Evaluate(GetTestItemCollection()).ToList();
Assert.Equal(expectedCount, result.Count());
}

View File

@@ -14,9 +14,7 @@ public class CatalogItemsSpecification
var catalogItemIds = new int[] { 1 };
var spec = new eShopWeb.ApplicationCore.Specifications.CatalogItemsSpecification(catalogItemIds);
var result = GetTestCollection()
.AsQueryable()
.Where(spec.WhereExpressions.FirstOrDefault().Filter);
var result = spec.Evaluate(GetTestCollection()).ToList();
Assert.NotNull(result);
Assert.Single(result.ToList());
@@ -28,9 +26,7 @@ public class CatalogItemsSpecification
var catalogItemIds = new int[] { 1, 3 };
var spec = new eShopWeb.ApplicationCore.Specifications.CatalogItemsSpecification(catalogItemIds);
var result = GetTestCollection()
.AsQueryable()
.Where(spec.WhereExpressions.FirstOrDefault().Filter);
var result = spec.Evaluate(GetTestCollection()).ToList();
Assert.NotNull(result);
Assert.Equal(2, result.ToList().Count);

View File

@@ -15,14 +15,12 @@ public class CustomerOrdersWithItemsSpecification
{
var spec = new eShopWeb.ApplicationCore.Specifications.CustomerOrdersWithItemsSpecification(_buyerId);
var result = GetTestCollection()
.AsQueryable()
.FirstOrDefault(spec.WhereExpressions.FirstOrDefault().Filter);
var result = spec.Evaluate(GetTestCollection()).FirstOrDefault();
Assert.NotNull(result);
Assert.NotNull(result.OrderItems);
Assert.Equal(1, result.OrderItems.Count);
Assert.NotNull(result.OrderItems.FirstOrDefault().ItemOrdered);
Assert.NotNull(result.OrderItems.FirstOrDefault()?.ItemOrdered);
}
[Fact]
@@ -30,15 +28,12 @@ public class CustomerOrdersWithItemsSpecification
{
var spec = new eShopWeb.ApplicationCore.Specifications.CustomerOrdersWithItemsSpecification(_buyerId);
var result = GetTestCollection()
.AsQueryable()
.Where(spec.WhereExpressions.FirstOrDefault().Filter)
.ToList();
var result = spec.Evaluate(GetTestCollection()).ToList();
Assert.NotNull(result);
Assert.Equal(2, result.Count);
Assert.Equal(1, result[0].OrderItems.Count);
Assert.NotNull(result[0].OrderItems.FirstOrDefault().ItemOrdered);
Assert.NotNull(result[0].OrderItems.FirstOrDefault()?.ItemOrdered);
Assert.Equal(2, result[1].OrderItems.Count);
Assert.NotNull(result[1].OrderItems.ToList()[0].ItemOrdered);
Assert.NotNull(result[1].OrderItems.ToList()[1].ItemOrdered);