Add MsTests; improvements, fixes, etc...
This commit is contained in:
parent
4538c0a4b9
commit
07b4e5f558
|
|
@ -0,0 +1,6 @@
|
||||||
|
namespace FruitBank.Common.Dtos;
|
||||||
|
|
||||||
|
public class CustomerDto
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
namespace FruitBank.Common.Dtos;
|
||||||
|
|
||||||
|
public class ProductDto
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -13,6 +13,10 @@ public class Shipping : MgEntityBase, IShipping
|
||||||
public DateTime ShippingDate { get; set; }
|
public DateTime ShippingDate { get; set; }
|
||||||
public string LicencePlate { get; set; }
|
public string LicencePlate { get; set; }
|
||||||
|
|
||||||
|
//[Association(ThisKey = nameof(ShippingDocumentId), OtherKey = nameof(ShippingItem.sh))]
|
||||||
|
//public IEnumerable<Shipping> Shippings { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[SkipValuesOnUpdate]
|
[SkipValuesOnUpdate]
|
||||||
public DateTime Created { get; set; }
|
public DateTime Created { get; set; }
|
||||||
public DateTime Modified { get; set; }
|
public DateTime Modified { get; set; }
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
using FruitBank.Common.Interfaces;
|
using FruitBank.Common.Interfaces;
|
||||||
using LinqToDB.Mapping;
|
using LinqToDB.Mapping;
|
||||||
using Mango.Nop.Core.Entities;
|
using Mango.Nop.Core.Entities;
|
||||||
|
using Nop.Core.Domain.Customers;
|
||||||
|
using Nop.Core.Domain.Orders;
|
||||||
|
|
||||||
namespace FruitBank.Common.Entities;
|
namespace FruitBank.Common.Entities;
|
||||||
|
|
||||||
|
|
@ -10,6 +12,10 @@ namespace FruitBank.Common.Entities;
|
||||||
public class ShippingItem : MgEntityBase, IShippingItem
|
public class ShippingItem : MgEntityBase, IShippingItem
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
//[Association(ThisKey = nameof(ShippingDocumentId), OtherKey = nameof(Shipping.Id))]
|
||||||
|
//public IEnumerable<Shipping> Shippings { get; set; }
|
||||||
|
|
||||||
public int ShippingDocumentId { get; set; }
|
public int ShippingDocumentId { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public double NetWeight { get; set; }
|
public double NetWeight { get; set; }
|
||||||
|
|
|
||||||
|
|
@ -8,15 +8,24 @@ public interface IFruitBankDataControllerCommon
|
||||||
public Task<List<MeasuringModel>?> GetMeasuringModels();
|
public Task<List<MeasuringModel>?> GetMeasuringModels();
|
||||||
public Task<MeasuringModel?> GetMeasuringModelByShippingId(int shippingId);
|
public Task<MeasuringModel?> GetMeasuringModelByShippingId(int shippingId);
|
||||||
|
|
||||||
|
#region Partner
|
||||||
public Task<List<Partner>?> GetPartners();
|
public Task<List<Partner>?> GetPartners();
|
||||||
public Task<Partner?> GetPartnerById(int id);
|
public Task<Partner?> GetPartnerById(int id);
|
||||||
|
public Task<Partner?> UpdatePartner(Partner partner);
|
||||||
|
#endregion Partner
|
||||||
|
|
||||||
|
#region Shipping
|
||||||
public Task<List<Shipping>?> GetShippings();
|
public Task<List<Shipping>?> GetShippings();
|
||||||
public Task<Shipping?> GetShippingById(int id);
|
public Task<Shipping?> GetShippingById(int id);
|
||||||
|
#endregion Shipping
|
||||||
|
|
||||||
public Task<List<ShippingItem>?> GetShippingItem();
|
#region ShippingItem
|
||||||
|
public Task<List<ShippingItem>?> GetShippingItems();
|
||||||
public Task<ShippingItem?> GetShippingItemById(int id);
|
public Task<ShippingItem?> GetShippingItemById(int id);
|
||||||
|
#endregion ShippingItem
|
||||||
|
|
||||||
|
#region ShippingDocument
|
||||||
public Task<List<ShippingDocument>?> GetShippingDocuments();
|
public Task<List<ShippingDocument>?> GetShippingDocuments();
|
||||||
public Task<ShippingDocument?> GetShippingDocumentById(int id);
|
public Task<ShippingDocument?> GetShippingDocumentById(int id);
|
||||||
|
#endregion ShippingDocument
|
||||||
}
|
}
|
||||||
|
|
@ -11,6 +11,7 @@ public class SignalRTags : AcSignalRTags
|
||||||
|
|
||||||
public const int GetPartners = 20;
|
public const int GetPartners = 20;
|
||||||
public const int GetPartnerById = 21;
|
public const int GetPartnerById = 21;
|
||||||
|
public const int UpdatePartner = 25;
|
||||||
|
|
||||||
public const int GetShippings = 40;
|
public const int GetShippings = 40;
|
||||||
public const int GetShippingById = 41;
|
public const int GetShippingById = 41;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,128 @@
|
||||||
|
using AyCode.Core.Consts;
|
||||||
|
using AyCode.Core.Enums;
|
||||||
|
using AyCode.Core.Loggers;
|
||||||
|
using FruitBank.Common.Entities;
|
||||||
|
using FruitBank.Common.Loggers;
|
||||||
|
using FruitBankHybrid.Shared.Services.SignalRs;
|
||||||
|
|
||||||
|
namespace FruitBankHybrid.Shared.Tests
|
||||||
|
{
|
||||||
|
[TestClass]
|
||||||
|
public sealed class FruitBankClientTests
|
||||||
|
{
|
||||||
|
private FruitBankSignalRClient _signalRClient = null!;
|
||||||
|
|
||||||
|
[TestInitialize]
|
||||||
|
public void TestInit()
|
||||||
|
{
|
||||||
|
_signalRClient = new FruitBankSignalRClient(new List<IAcLogWriterClientBase>
|
||||||
|
{
|
||||||
|
//new ConsoleLogWriter(AppType.TestUnit, LogLevel.Detail, nameof(FruitBankClientTests)),
|
||||||
|
new SignaRClientLogItemWriter(AppType.TestUnit, LogLevel.Detail, nameof(FruitBankClientTests))
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Partner
|
||||||
|
[TestMethod]
|
||||||
|
public async Task GetPartnersTest()
|
||||||
|
{
|
||||||
|
var partners = await _signalRClient.GetPartners();
|
||||||
|
|
||||||
|
Assert.IsNotNull(partners);
|
||||||
|
Assert.IsTrue(partners.Any());
|
||||||
|
}
|
||||||
|
|
||||||
|
//[DataTestMethod]
|
||||||
|
//[DataRow(1)]
|
||||||
|
public async Task<Partner> GetPartnerByIdTest(int partnerId)
|
||||||
|
{
|
||||||
|
var partner = await _signalRClient.GetPartnerById(partnerId);
|
||||||
|
|
||||||
|
Assert.IsNotNull(partner);
|
||||||
|
Assert.IsTrue(partner.Id == partnerId);
|
||||||
|
|
||||||
|
return partner;
|
||||||
|
}
|
||||||
|
|
||||||
|
[DataTestMethod]
|
||||||
|
[DataRow(2)]
|
||||||
|
public async Task UpdatePartnerTest(int partnerId)
|
||||||
|
{
|
||||||
|
var partner = await GetPartnerByIdTest(partnerId);
|
||||||
|
|
||||||
|
const string fixture = "_test.temp";
|
||||||
|
var newName = $"{partner.Name.Replace(fixture, string.Empty)}{fixture}";
|
||||||
|
|
||||||
|
partner.Name = newName;
|
||||||
|
await _signalRClient.UpdatePartner(partner);
|
||||||
|
|
||||||
|
partner = await GetPartnerByIdTest(partnerId);
|
||||||
|
Assert.IsTrue(partner.Name == newName);
|
||||||
|
|
||||||
|
partner.Name = partner.Name.Replace(fixture, string.Empty);
|
||||||
|
await _signalRClient.UpdatePartner(partner);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Partner
|
||||||
|
|
||||||
|
#region Shipping
|
||||||
|
[TestMethod]
|
||||||
|
public async Task GetShippingsTest()
|
||||||
|
{
|
||||||
|
var shippings = await _signalRClient.GetShippings();
|
||||||
|
|
||||||
|
Assert.IsNotNull(shippings);
|
||||||
|
Assert.IsTrue(shippings.Any());
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public async Task GetShippingByIdTest()
|
||||||
|
{
|
||||||
|
var shipping = await _signalRClient.GetShippingById(1);
|
||||||
|
|
||||||
|
Assert.IsNotNull(shipping);
|
||||||
|
Assert.IsTrue(shipping.Id == 1);
|
||||||
|
}
|
||||||
|
#endregion Shipping
|
||||||
|
|
||||||
|
#region ShippingItem
|
||||||
|
[TestMethod]
|
||||||
|
public async Task GetShippingItemsTest()
|
||||||
|
{
|
||||||
|
var shippingItems = await _signalRClient.GetShippingItems();
|
||||||
|
|
||||||
|
Assert.IsNotNull(shippingItems);
|
||||||
|
Assert.IsTrue(shippingItems.Any());
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public async Task GetShippingItemByIdTest()
|
||||||
|
{
|
||||||
|
var shippingItem = await _signalRClient.GetShippingItemById(1);
|
||||||
|
|
||||||
|
Assert.IsNotNull(shippingItem);
|
||||||
|
Assert.IsTrue(shippingItem.Id == 1);
|
||||||
|
}
|
||||||
|
#endregion ShippingItem
|
||||||
|
|
||||||
|
#region ShippingDocument
|
||||||
|
[TestMethod]
|
||||||
|
public async Task GetShippingDocumentsTest()
|
||||||
|
{
|
||||||
|
var shippingDocuments = await _signalRClient.GetShippingDocuments();
|
||||||
|
|
||||||
|
Assert.IsNotNull(shippingDocuments);
|
||||||
|
Assert.IsTrue(shippingDocuments.Any());
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public async Task GetShippingDocumentByIdTest()
|
||||||
|
{
|
||||||
|
var shippingDocument = await _signalRClient.GetShippingDocumentById(1);
|
||||||
|
|
||||||
|
Assert.IsNotNull(shippingDocument);
|
||||||
|
Assert.IsTrue(shippingDocument.Id == 1);
|
||||||
|
}
|
||||||
|
#endregion ShippingDocument
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
<Project Sdk="MSTest.Sdk/3.6.4">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net9.0</TargetFramework>
|
||||||
|
<LangVersion>latest</LangVersion>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<!--
|
||||||
|
Displays error on console in addition to the log file. Note that this feature comes with a performance impact.
|
||||||
|
For more information, visit https://learn.microsoft.com/dotnet/core/testing/unit-testing-platform-integration-dotnet-test#show-failure-per-test
|
||||||
|
-->
|
||||||
|
<TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\FruitBank.Common\FruitBank.Common.csproj" />
|
||||||
|
<ProjectReference Include="..\FruitBankHybrid.Shared.Common\FruitBankHybrid.Shared.Common.csproj" />
|
||||||
|
<ProjectReference Include="..\FruitBankHybrid.Shared\FruitBankHybrid.Shared.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="AyCode.Core">
|
||||||
|
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Core.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AyCode.Entities">
|
||||||
|
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Entities.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AyCode.Services">
|
||||||
|
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Services.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]
|
||||||
|
|
@ -34,25 +34,37 @@ namespace FruitBankHybrid.Shared.Services.SignalRs
|
||||||
public Task<List<Partner>?> GetPartners()
|
public Task<List<Partner>?> GetPartners()
|
||||||
=> GetAllAsync<List<Partner>>(SignalRTags.GetPartners);
|
=> GetAllAsync<List<Partner>>(SignalRTags.GetPartners);
|
||||||
|
|
||||||
|
#region Partner
|
||||||
public Task<Partner?> GetPartnerById(int id)
|
public Task<Partner?> GetPartnerById(int id)
|
||||||
=> GetByIdAsync<Partner?>(SignalRTags.GetPartnerById, id);
|
=> GetByIdAsync<Partner?>(SignalRTags.GetPartnerById, id);
|
||||||
|
|
||||||
|
public Task<Partner?> UpdatePartner(Partner partner)
|
||||||
|
=>PostDataAsync<Partner>(SignalRTags.UpdatePartner, partner);
|
||||||
|
|
||||||
|
#endregion Partner
|
||||||
|
|
||||||
|
#region Shipping
|
||||||
public Task<List<Shipping>?> GetShippings()
|
public Task<List<Shipping>?> GetShippings()
|
||||||
=> GetAllAsync<List<Shipping>>(SignalRTags.GetShippings);
|
=> GetAllAsync<List<Shipping>>(SignalRTags.GetShippings);
|
||||||
|
|
||||||
public Task<Shipping?> GetShippingById(int id)
|
public Task<Shipping?> GetShippingById(int id)
|
||||||
=> GetByIdAsync<Shipping?>(SignalRTags.GetShippingById, id);
|
=> GetByIdAsync<Shipping?>(SignalRTags.GetShippingById, id);
|
||||||
|
#endregion Shipping
|
||||||
|
|
||||||
public Task<List<ShippingItem>?> GetShippingItem()
|
#region ShippingItem
|
||||||
|
public Task<List<ShippingItem>?> GetShippingItems()
|
||||||
=> GetAllAsync<List<ShippingItem>>(SignalRTags.GetShippingItems);
|
=> GetAllAsync<List<ShippingItem>>(SignalRTags.GetShippingItems);
|
||||||
|
|
||||||
public Task<ShippingItem?> GetShippingItemById(int id)
|
public Task<ShippingItem?> GetShippingItemById(int id)
|
||||||
=> GetByIdAsync<ShippingItem?>(SignalRTags.GetShippingItemById, id);
|
=> GetByIdAsync<ShippingItem?>(SignalRTags.GetShippingItemById, id);
|
||||||
|
#endregion ShippingItem
|
||||||
|
|
||||||
|
#region ShippingDocument
|
||||||
public Task<List<ShippingDocument>?> GetShippingDocuments()
|
public Task<List<ShippingDocument>?> GetShippingDocuments()
|
||||||
=> GetAllAsync<List<ShippingDocument>>(SignalRTags.GetShippingDocuments);
|
=> GetAllAsync<List<ShippingDocument>>(SignalRTags.GetShippingDocuments);
|
||||||
|
|
||||||
public Task<ShippingDocument?> GetShippingDocumentById(int id)
|
public Task<ShippingDocument?> GetShippingDocumentById(int id)
|
||||||
=> GetByIdAsync<ShippingDocument?>(SignalRTags.GetShippingDocumentById, id);
|
=> GetByIdAsync<ShippingDocument?>(SignalRTags.GetShippingDocumentById, id);
|
||||||
|
#endregion ShippingDocument
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
<ProjectReference Include="..\FruitBank.Common.Server\FruitBank.Common.Server.csproj" />
|
<ProjectReference Include="..\FruitBank.Common.Server\FruitBank.Common.Server.csproj" />
|
||||||
<ProjectReference Include="..\FruitBank.Common\FruitBank.Common.csproj" />
|
<ProjectReference Include="..\FruitBank.Common\FruitBank.Common.csproj" />
|
||||||
<ProjectReference Include="..\FruitBankHybrid.Shared.Common\FruitBankHybrid.Shared.Common.csproj" />
|
<ProjectReference Include="..\FruitBankHybrid.Shared.Common\FruitBankHybrid.Shared.Common.csproj" />
|
||||||
|
<ProjectReference Include="..\FruitBankHybrid.Shared\FruitBankHybrid.Shared.csproj" />
|
||||||
<ProjectReference Include="..\FruitBankHybrid.Web.Client\FruitBankHybrid.Web.Client.csproj" />
|
<ProjectReference Include="..\FruitBankHybrid.Web.Client\FruitBankHybrid.Web.Client.csproj" />
|
||||||
<PackageReference Include="MessagePack" Version="3.1.4" />
|
<PackageReference Include="MessagePack" Version="3.1.4" />
|
||||||
<PackageReference Include="MessagePack.Annotations" Version="3.1.4" />
|
<PackageReference Include="MessagePack.Annotations" Version="3.1.4" />
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FruitBank.Common", "FruitBa
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FruitBank.Common.Server", "FruitBank.Common.Server\FruitBank.Common.Server.csproj", "{AD3AB968-A79F-485C-8B3E-B6917A5E4C71}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FruitBank.Common.Server", "FruitBank.Common.Server\FruitBank.Common.Server.csproj", "{AD3AB968-A79F-485C-8B3E-B6917A5E4C71}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FruitBankHybrid.Shared.Tests", "FruitBankHybrid.Shared.Tests\FruitBankHybrid.Shared.Tests.csproj", "{BE107917-831F-45E6-87F3-96D1DF418309}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
|
@ -51,6 +53,10 @@ Global
|
||||||
{AD3AB968-A79F-485C-8B3E-B6917A5E4C71}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{AD3AB968-A79F-485C-8B3E-B6917A5E4C71}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{AD3AB968-A79F-485C-8B3E-B6917A5E4C71}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{AD3AB968-A79F-485C-8B3E-B6917A5E4C71}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{AD3AB968-A79F-485C-8B3E-B6917A5E4C71}.Release|Any CPU.Build.0 = Release|Any CPU
|
{AD3AB968-A79F-485C-8B3E-B6917A5E4C71}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{BE107917-831F-45E6-87F3-96D1DF418309}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{BE107917-831F-45E6-87F3-96D1DF418309}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{BE107917-831F-45E6-87F3-96D1DF418309}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{BE107917-831F-45E6-87F3-96D1DF418309}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue