using AyCode.Core.Enums; using AyCode.Core.Loggers; using AyCode.Utils.Extensions; using FruitBank.Common; using FruitBank.Common.Dtos; using FruitBank.Common.Entities; using FruitBank.Common.Interfaces; using FruitBank.Common.Loggers; using FruitBankHybrid.Shared.Services.SignalRs; using System.Diagnostics.CodeAnalysis; using System.Runtime.InteropServices.JavaScript; using System.Security.Cryptography.X509Certificates; // ReSharper disable CompareOfFloatsByEqualityOperator namespace FruitBankHybrid.Shared.Tests { [TestClass] public sealed class FruitBankClientTests { private const int CustomerIdAasdDsserverCom = 6;//aasd@dsserver.com private const string Fixture = "_test.temp"; private FruitBankSignalRClient _signalRClient = null!; private static string GetFixtureName(string name) => $"{GetOriginalName(name)}{Fixture}"; private static string GetOriginalName(string name) => name.Replace(Fixture, string.Empty); [TestInitialize] public void TestInit() { if (!FruitBankConstClient.BaseUrl.Contains("localhost:")) throw new Exception("NEM LOCALHOST-ON TESZTELÜNK!"); _signalRClient = new FruitBankSignalRClient(new List { //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.Count != 0); } //[DataTestMethod] //[DataRow(1)] public async Task 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); var newName = GetFixtureName(partner.Name); partner.Name = newName; partner = await _signalRClient.UpdatePartner(partner); Assert.IsNotNull(partner); Assert.IsTrue(partner.Name == newName); partner.Name = GetOriginalName(partner.Name); partner = await _signalRClient.UpdatePartner(partner); Assert.IsNotNull(partner); Assert.IsTrue(partner.Id == partnerId); } #endregion Partner #region Shipping [TestMethod] public async Task GetShippingsTest() { var shippings = await _signalRClient.GetShippings(); Assert.IsNotNull(shippings); Assert.IsTrue(shippings.Count != 0); } [TestMethod] public async Task GetNotMeasuredShippingsTest() { var shippings = await _signalRClient.GetNotMeasuredShippings(); Assert.IsNotNull(shippings); var ShippingMeasuredDateAddDay = 1000; //dfd Assert.IsTrue(shippings.All(s => !s.IsAllMeasured || s.MeasuredDate != null || s.MeasuredDate < DateTime.Now.AddDays(ShippingMeasuredDateAddDay))); } //[TestMethod] //[DataRow(1)] public async Task GetShippingByIdTest(int shippingId) { var shipping = await _signalRClient.GetShippingById(shippingId); Assert.IsNotNull(shipping); Assert.IsNotNull(shipping.ShippingDocuments); Assert.IsTrue(shipping.Id == shippingId); Assert.IsTrue(shipping.ShippingDocuments.All(s => s.ShippingId == shippingId)); Assert.IsTrue(shipping.ShippingDocuments.All(sd => sd.ShippingItems != null && sd.ShippingItems.Any(si => si.ShippingDocumentId == sd.Id))); return shipping; } [DataTestMethod] [DataRow(1)] public async Task UpdateShippingTest(int shippingId) { var shipping = await GetShippingByIdTest(shippingId); var newLicencePlate = GetFixtureName(shipping.LicencePlate); shipping.LicencePlate = newLicencePlate; await _signalRClient.UpdateShipping(shipping); shipping = await GetShippingByIdTest(shippingId); Assert.IsTrue(shipping.Id == shippingId); Assert.IsTrue(shipping.LicencePlate == newLicencePlate); shipping.LicencePlate = GetOriginalName(shipping.LicencePlate); await _signalRClient.UpdateShipping(shipping); Assert.IsTrue(shipping.Id == shippingId); } #endregion Shipping #region ShippingItem [TestMethod] public async Task GetShippingItemsTest() { var shippingItems = await _signalRClient.GetShippingItems(); Assert.IsNotNull(shippingItems); Assert.IsTrue(shippingItems.Count != 0); Assert.IsTrue(shippingItems.All(si => si.ProductDto?.Id == si.ProductId), "shippingItem.Product == null"); Assert.IsTrue(shippingItems.All(x => double.Round(x.ShippingItemPallets!.Where(sp => sp.IsMeasured).Sum(sp => sp.GrossWeight), 1) == x.MeasuredGrossWeight)); Assert.IsTrue(shippingItems.All(x => double.Round(x.ShippingItemPallets!.Where(sp => sp.IsMeasured).Sum(sp => sp.NetWeight), 1) == x.MeasuredNetWeight)); await ValidateProductValues(shippingItems.Where(si => si.ProductId.GetValueOrDefault(0) > 0).GroupBy(x => x.ProductId!.Value, si => si).ToDictionary(k => k.Key, v => v.ToList())); var rnd = new Random(); foreach (var shippingItem in shippingItems) { await UpdateShippingItemAsync(shippingItem.Id, rnd.Next(-10, 10), rnd.NextDouble() + rnd.Next(-3, 3), rnd.NextDouble() + rnd.Next(-5, 5), rnd.NextDouble() + rnd.Next(-1, 1)); } shippingItems = await _signalRClient.GetShippingItems(); Assert.IsNotNull(shippingItems); await ValidateProductValues(shippingItems.Where(si => si.ProductId.GetValueOrDefault(0) > 0).GroupBy(x => x.ProductId!.Value, si => si).ToDictionary(k => k.Key, v => v.ToList())); } private async Task ValidateProductValues(Dictionary> shippingItemsByProductId) { foreach (var (key, shippingItems) in shippingItemsByProductId) { var productDto = await _signalRClient.GetProductDtoById(key); Assert.IsNotNull(productDto); Assert.IsTrue(shippingItems.Where(si => si.ProductId == productDto.Id).All(si => si.ProductDto!.StockQuantity == productDto.StockQuantity)); var shippingItemSumQnty = shippingItems.Where(x => x.IsMeasured && x.ProductId == productDto.Id).Sum(x => x.MeasuredQuantity); Assert.IsTrue(shippingItemSumQnty == productDto.StockQuantity, $"{productDto}; shippingItemSum Quantity: {shippingItemSumQnty} == {productDto.StockQuantity}"); if (!productDto.IsMeasurable) continue; //var shippingItemSumWeight = double.Round(shippingItems.Where(x => x.IsMeasured && x.ProductId == productDto.Id).Sum(x => x.MeasuredNetWeight), 1); //Assert.IsTrue(shippingItemSumWeight == productDto!.NetWeight, $"{productDto}; shippingItemSum NetWeight: {shippingItemSumWeight} == {productDto.NetWeight}"); //shippingItemSumWeight = double.Round(shippingItems.Where(x => x.IsMeasured && x.ProductId == productDto.Id).Sum(x => x.MeasuredGrossWeight), 1); } } [TestMethod] [DataRow(1, true)] [DataRow(2, true)] [DataRow(3, false)] [DataRow(4, false)] public async Task GetShippingItemByIdTest(int shippingItemId, bool shippingDocumentFileExcepted) { var shippingItem = await GetShippingItemByIdAsync(shippingItemId); if (shippingDocumentFileExcepted) Assert.IsTrue(shippingItem.ShippingDocument?.ShippingDocumentToFiles?.FirstOrDefault()?.ShippingDocumentFile?.Id == 1); else { Assert.IsNotNull(shippingItem.ShippingDocument); Assert.IsTrue(shippingItem.ShippingDocument.ShippingDocumentToFiles?.Count == 0); } } [return: NotNull] public async Task GetShippingItemByIdAsync(int shippingItemId) { var shippingItem = await _signalRClient.GetShippingItemById(shippingItemId); Assert.IsNotNull(shippingItem, $"shippingItemId: {shippingItemId}"); if (shippingItem.IsMeasurable) Assert.IsNotNull(shippingItem.Pallet, $"shippingItem.Pallet == null; shippingItem.PalletId: {shippingItem.PalletId}"); Assert.IsNotNull(shippingItem.ProductDto, $"shippingItem.Product == null; shippingItem.ProductId: {shippingItem.ProductId}"); Assert.IsTrue(shippingItem.Id == shippingItemId); Assert.IsTrue(shippingItem.QuantityOnDocument > 0, "QuantityOnDocument == 0"); Assert.IsTrue(shippingItem.NetWeightOnDocument > 0, "NetWeightOnDocument == 0"); Assert.IsTrue(shippingItem.GrossWeightOnDocument > 0, "GrossWeightOnDocument == 0"); return shippingItem; } [DataTestMethod] [DataRow(1, 1, 0, 1, 0)] [DataRow(1, -1, -2.137563300001, -33.75238200001, 2.12545)] [DataRow(1, 1, 2.137563300001, 390.75238200001, 2.12545)] [DataRow(1, 1, 20.137563300001, 3.75238200001, 2.12545)] [DataRow(2, -1, -20.137563300001, 3.75238200001, 2.12545)] [DataRow(2, -1, 20.137563300001, 3.75238200001, 2.12545)] [DataRow(3, 1, 2.137563300001, 1.75238200001, 2.12545)] [DataRow(3, 1, 2.137563300001, 3.75238200001, 2.12545)] [DataRow(4, 13, 2.137563300001, 3.75238200001, 2.12545)] [DataRow(5, 1, 2.137563300001, 3.75238200001, 2.12545)] [DataRow(5, -1, 2.137563300001, 3.75238200001, 2.12545)] public async Task UpdateShippingItemTest(int shippingItemId, int incQuantity, double incPalletWeight, double incGrossWeight, double incTare) { Assert.IsTrue(true); return; await UpdateShippingItemAsync(shippingItemId, incQuantity, incPalletWeight, incGrossWeight, incTare); } public async Task UpdateShippingItemAsync(int shippingItemId, int incQuantity, double incPalletWeight, double incGrossWeight, double incTare) { incPalletWeight = double.Round(incPalletWeight, 0); Console.WriteLine($"params: {shippingItemId}; {incQuantity}; {incPalletWeight}; {incGrossWeight}; {incTare}"); var originalShippingItem = await GetShippingItemByIdAsync(shippingItemId); Console.WriteLine($"{originalShippingItem}"); var productDto = await GetProductDtoByIdAsync(originalShippingItem.ProductId!.Value, originalShippingItem.IsMeasurable); Assert.IsTrue(originalShippingItem.IsMeasurable == productDto.IsMeasurable); Console.WriteLine($"{productDto}; NetWeight: {productDto.NetWeight}"); var shippingItemPallet = originalShippingItem.ShippingItemPallets!.FirstOrDefault(); if (shippingItemPallet == null) { shippingItemPallet = new ShippingItemPallet { ShippingItemId = originalShippingItem.Id, PalletWeight = originalShippingItem.Pallet?.Weight ?? 0 }; originalShippingItem.ShippingItemPallets!.Add(shippingItemPallet); } Assert.IsNotNull(shippingItemPallet); var nullResultIsValid = originalShippingItem.IsMeasured && !originalShippingItem.IsValidMeasuringValues(); nullResultIsValid = nullResultIsValid || originalShippingItem.ShippingItemPallets!.Any(x => !x.IsValidMeasuringValues(productDto.IsMeasurable)); nullResultIsValid = nullResultIsValid || originalShippingItem.ShippingItemPallets!.Any(x => !x.IsValidSafeMeasuringValues()); var originalPalletNetWeight = shippingItemPallet.NetWeight; shippingItemPallet.TrayQuantity += incQuantity; shippingItemPallet.GrossWeight += incGrossWeight; shippingItemPallet.PalletWeight += incPalletWeight; shippingItemPallet.TareWeight += incTare; var incNetWeight = productDto.IsMeasurable ? double.Round(shippingItemPallet.NetWeight - originalPalletNetWeight, 1) : 0; //shippingItem = await _signalRClient.UpdateShippingItem(shippingItem); var dbShippingItemPallet = await _signalRClient.UpdateShippingItemPallet(shippingItemPallet); //A szerver oldal 0-ra állítja a shippingItemPallet weight-eket, ha nem mérhető! - J. if (!productDto.IsMeasurable) { shippingItemPallet.GrossWeight = 0; shippingItemPallet.PalletWeight = 0; shippingItemPallet.TareWeight = 0; } if (nullResultIsValid || !shippingItemPallet.IsValidSafeMeasuringValues()) { Assert.IsNull(dbShippingItemPallet); return; } //if (dbShippingItemPallet == null) return; Assert.IsNotNull(dbShippingItemPallet); Assert.IsTrue(dbShippingItemPallet.TareWeight == shippingItemPallet.TareWeight); Assert.IsTrue(dbShippingItemPallet.TrayQuantity == shippingItemPallet.TrayQuantity); Assert.IsTrue(dbShippingItemPallet.GrossWeight == shippingItemPallet.GrossWeight); Assert.IsTrue(dbShippingItemPallet.PalletWeight == shippingItemPallet.PalletWeight); Assert.IsTrue(dbShippingItemPallet.ShippingItemId == shippingItemPallet.ShippingItemId); Assert.IsTrue(dbShippingItemPallet.NetWeight == double.Round(originalPalletNetWeight + incNetWeight, 1)); var shippingItem = await _signalRClient.GetShippingItemById(dbShippingItemPallet.ShippingItemId); Assert.IsNotNull(shippingItem); Assert.IsNotNull(shippingItem.ProductDto); Assert.IsNotNull(shippingItem.ShippingItemPallets); Assert.IsTrue(shippingItem.IsMeasurable == productDto.IsMeasurable); //var incNetWeight = productDto.IsMeasurable ? double.Round(dbShippingItemPallet.NetWeight - originalPalletNetWeight, 1) : 0; incGrossWeight = productDto.IsMeasurable ? double.Round(incGrossWeight, 1) : 0; var isMeasuredPalletsCount = shippingItem.ShippingItemPallets!.Count(x => x.IsMeasured); Assert.IsTrue(shippingItem.MeasuredNetWeight == double.Round(originalShippingItem.MeasuredNetWeight + incNetWeight, 1)); Assert.IsTrue(shippingItem.IsMeasured == (shippingItem.ShippingItemPallets!.All(x => x.IsMeasured) && shippingItem.MeasuringCount == isMeasuredPalletsCount)); if (shippingItem.IsMeasured) { Assert.IsTrue(shippingItem.IsValidMeasuringValues()); Assert.IsTrue(shippingItem.MeasuringCount == isMeasuredPalletsCount); Assert.IsTrue(shippingItem.ProductDto.StockQuantity == originalShippingItem.ProductDto!.StockQuantity + incQuantity); Assert.IsTrue(shippingItem.ProductDto.IncomingQuantity == productDto.IncomingQuantity - incQuantity); var dbProductDto = await GetProductDtoByIdAsync(originalShippingItem.ProductId!.Value, shippingItem.IsMeasurable); Assert.IsTrue(dbProductDto.StockQuantity == productDto.StockQuantity + incQuantity); Assert.IsTrue(dbProductDto.IncomingQuantity == productDto.IncomingQuantity - incQuantity); Assert.IsTrue(dbProductDto.NetWeight == double.Round(productDto.NetWeight + (shippingItem.IsMeasurable ? incNetWeight : 0), 1)); } else { incQuantity = 0; incNetWeight = 0; incGrossWeight = 0; Assert.IsTrue(shippingItem.MeasuringCount > isMeasuredPalletsCount); } Assert.IsTrue(shippingItem.MeasuredQuantity == originalShippingItem.MeasuredQuantity + incQuantity); Assert.IsTrue(shippingItem.ShippingItemPallets!.All(x => x.IsValidSafeMeasuringValues())); Assert.IsTrue(shippingItem.ShippingItemPallets!.All(x => x.IsValidMeasuringValues(shippingItem.IsMeasurable))); Assert.IsTrue(shippingItem.MeasuredNetWeight == double.Round(originalShippingItem.MeasuredNetWeight + (shippingItem.IsMeasurable ? incNetWeight : 0), 1)); Assert.IsTrue(shippingItem.MeasuredGrossWeight == double.Round(originalShippingItem.MeasuredGrossWeight + (shippingItem.IsMeasurable ? incGrossWeight : 0), 1)); } #endregion ShippingItem #region ShippingDocument [TestMethod] public async Task GetShippingDocumentsTest() { var shippingDocuments = await _signalRClient.GetShippingDocuments(); Assert.IsNotNull(shippingDocuments); Assert.IsTrue(shippingDocuments.Count != 0); Assert.IsTrue(shippingDocuments.Any(x => x.ShippingDocumentToFiles?.Count > 0)); } [TestMethod] [DataRow(2, true)] [DataRow(3, false)] [DataRow(4, false)] public async Task GetShippingDocumentByIdTest(int shippingDocumentId, bool shippingDocumentFileExcepted) { var shippingDocument = await GetShippingDocumentByIdAsync(shippingDocumentId); if (shippingDocumentFileExcepted) Assert.IsTrue(shippingDocument.ShippingDocumentToFiles?.FirstOrDefault()?.ShippingDocumentFile?.Id == 1); else { Assert.IsTrue(shippingDocument.ShippingDocumentToFiles?.Count == 0); } } [return: NotNull] public async Task GetShippingDocumentByIdAsync(int shippingDocumentId) { var shippingDocument = await _signalRClient.GetShippingDocumentById(shippingDocumentId); Assert.IsNotNull(shippingDocument); Assert.IsTrue(shippingDocument.Id == shippingDocumentId); return shippingDocument; } [DataTestMethod] [DataRow(2)] public async Task UpdateShippingDocumentTest(int shippingDocumentId) { var shippingDocument = await GetShippingDocumentByIdAsync(shippingDocumentId); var newCountry = GetFixtureName(shippingDocument.Country); shippingDocument.Country = newCountry; await _signalRClient.UpdateShippingDocument(shippingDocument); shippingDocument = await GetShippingDocumentByIdAsync(shippingDocumentId); Assert.IsTrue(shippingDocument.Country == newCountry); Assert.IsTrue(shippingDocument.ShippingDocumentToFiles?.FirstOrDefault()?.ShippingDocumentFile?.Id == 1); shippingDocument.Country = GetOriginalName(shippingDocument.Country); await _signalRClient.UpdateShippingDocument(shippingDocument); } #endregion ShippingDocument #region Customer [TestMethod] public async Task GetMeasuringUsersTest() { var users = await _signalRClient.GetMeasuringUsers(); Assert.IsNotNull(users); Assert.IsTrue(users.Count != 0); Assert.IsTrue(users.All(x => !x.Email.IsNullOrEmpty() && !x.Deleted)); } //[TestMethod] //[DataRow(CustomerIdAasdDsserverCom)] //public async Task GetCustomerRolesByCustomerIdTest(int customerId) //{ // var customerRoles = await _signalRClient.GetCustomerRolesByCustomerId(customerId); // Assert.IsNotNull(customerRoles); // Assert.IsTrue(customerRoles.Count > 0); // Assert.IsTrue(customerRoles.Any(cr => cr.SystemName == "Measuring")); //} #endregion Customer #region Product [TestMethod] public async Task GetProductDtosTest() { var productDtos = await _signalRClient.GetProductDtos(); Assert.IsNotNull(productDtos); Assert.IsTrue(productDtos.Count != 0); Assert.IsTrue(productDtos.All(x => !x.Name.IsNullOrEmpty() && !x.Deleted)); } [TestMethod] [DataRow(1, true)] [DataRow(5, true)] //[DataRow(6, false)] [DataRow(33, true)] [DataRow(64, false)] [DataRow(7, true)] public async Task GetProductDtoByIdTest(int productId, bool isMeasurableExcepted) { await GetProductDtoByIdAsync(productId, isMeasurableExcepted); } public async Task GetProductDtoByIdAsync(int productId, bool isMeasurableExcepted) { var productDto = await _signalRClient.GetProductDtoById(productId); Assert.IsNotNull(productDto); //if (productDto.Id == 6) return productDto; if (isMeasurableExcepted) Assert.IsTrue(productDto.HasMeasuringValues(), $"{productDto} {productDto.IsMeasurable}, {productDto.NetWeight}"); else { Assert.IsTrue(productDto.Id > 0); Assert.IsTrue(productDto.StockQuantity >= 0); Assert.IsTrue(productDto.NetWeight == 0); Assert.IsFalse(productDto.IsMeasurable); } return productDto; } #endregion Product #region OrderItem [DataTestMethod] [DataRow(1)] public async Task GetOrderDtoByIdTest(int orderId) => await GetOrderDtoByIdAsync(orderId); [return: NotNull] public async Task GetOrderDtoByIdAsync(int orderId) { var orderDto = await _signalRClient.GetOrderDtoById(orderId); ValidateOrderDto(orderId, orderDto); return orderDto!; } private static bool ValidateOrderDto(int orderId, [NotNullWhen(true)] OrderDto? orderDto) { Assert.IsNotNull(orderDto, $"orderId: {orderId}"); Assert.IsNotNull(orderDto.Customer); Assert.IsTrue(orderDto.Id == orderId); Assert.IsTrue(orderDto.OrderItemDtos.Count > 0); Assert.IsTrue(orderDto.OrderItemDtos.All(oi => oi.ProductDto != null)); return true; } //[DataTestMethod] //[DataRow(1, -1, -2.137563300001, -333.75238200001, 2.12545)] //[DataRow(1, 1, 2.137563300001, 3.75238200001, 2.12545)] //[DataRow(1, 1, 20.137563300001, 3.75238200001, 2.12545)] //[DataRow(2, -1, -20.137563300001, 3.75238200001, 2.12545)] //[DataRow(2, -1, 20.137563300001, 3.75238200001, 2.12545)] //[DataRow(3, 1, 2.137563300001, 1.75238200001, 2.12545)] //[DataRow(3, 1, 2.137563300001, 3.75238200001, 2.12545)] //[DataRow(4, 13, 2.137563300001, 3.75238200001, 2.12545)] //[DataRow(5, 1, 2.137563300001, 3.75238200001, 2.12545)] //[DataRow(5, -1, 2.137563300001, 3.75238200001, 2.12545)] //public async Task UpdateOrderItemTest(int shippingItemId, int incQuantity, double incPalletWeight, double incGrossWeight, double incTare) //{ // Assert.IsTrue(true); // return; // await UpdateOrderItemAsync(shippingItemId, incQuantity, incPalletWeight, incGrossWeight, incTare); //} //public async Task UpdateOrderItemAsync(int shippingItemId, int incQuantity, double incPalletWeight, double incGrossWeight, double incTare) //{ //var originalShippingItem = await GetShippingItemByIdAsync(shippingItemId); // var productDto = await GetProductDtoByIdAsync(originalShippingItem.ProductId!.Value, originalShippingItem.IsMeasurable); // Assert.IsTrue(originalShippingItem.IsMeasurable == productDto.IsMeasurable); // var shippingItem = await GetShippingItemByIdAsync(shippingItemId); // var shippingItemPallet = shippingItem.ShippingItemPallets!.FirstOrDefault(); // if (shippingItemPallet == null) // { // shippingItemPallet = new ShippingItemPallet { ShippingItemId = shippingItem.Id, PalletWeight = shippingItem.Pallet?.Weight ?? 0 }; // shippingItem.ShippingItemPallets!.Add(shippingItemPallet); // } // Assert.IsNotNull(shippingItemPallet); // var nullResultIsValid = shippingItem.IsMeasured && !shippingItem.IsValidMeasuringValues(); // nullResultIsValid = nullResultIsValid || shippingItem.ShippingItemPallets!.Any(x => !x.IsValidMeasuringValues(productDto.IsMeasurable)); // nullResultIsValid = nullResultIsValid || shippingItem.ShippingItemPallets!.Any(x => !x.IsValidSafeMeasuringValues()); // shippingItemPallet.TrayQuantity += incQuantity; // shippingItemPallet.GrossWeight += incGrossWeight; // shippingItemPallet.PalletWeight += incPalletWeight; // shippingItemPallet.TareWeight += incTare; // //shippingItem = await _signalRClient.UpdateShippingItem(shippingItem); // var dbShippingItemPallet = await _signalRClient.UpdateShippingItemPallet(shippingItemPallet); // //A szerver oldal 0-ra állítja a shippingItemPallet weight-eket, ha nem mérhető! - J. // if (!productDto.IsMeasurable) // { // shippingItemPallet.GrossWeight = 0; // shippingItemPallet.PalletWeight = 0; // shippingItemPallet.TareWeight = 0; // } // if (nullResultIsValid || !shippingItemPallet.IsValidSafeMeasuringValues()) // { // Assert.IsNull(dbShippingItemPallet); // return; // } // Assert.IsNotNull(dbShippingItemPallet); // Assert.IsTrue(dbShippingItemPallet.TareWeight == shippingItemPallet.TareWeight); // Assert.IsTrue(dbShippingItemPallet.TrayQuantity == shippingItemPallet.TrayQuantity); // Assert.IsTrue(dbShippingItemPallet.GrossWeight == shippingItemPallet.GrossWeight); // Assert.IsTrue(dbShippingItemPallet.PalletWeight == shippingItemPallet.PalletWeight); // Assert.IsTrue(dbShippingItemPallet.ShippingItemId == shippingItemPallet.ShippingItemId); // shippingItem = await _signalRClient.GetShippingItemById(dbShippingItemPallet.ShippingItemId); // Assert.IsNotNull(shippingItem); // Assert.IsNotNull(shippingItem.ProductDto); // Assert.IsNotNull(shippingItem.ShippingItemPallets); // Assert.IsTrue(shippingItem.IsMeasurable == productDto.IsMeasurable); // incGrossWeight = productDto.IsMeasurable ? double.Round(incGrossWeight, 1) : 0; // var incNetWeight = productDto.IsMeasurable ? double.Round((incGrossWeight - incPalletWeight) - (incQuantity * incTare), 1) : 0; // var isMeasuredPalletsCount = shippingItem.ShippingItemPallets!.Count(x => x.IsMeasured); // Assert.IsTrue(shippingItem.IsMeasured == (shippingItem.ShippingItemPallets!.All(x => x.IsMeasured) && shippingItem.MeasuringCount == isMeasuredPalletsCount)); // if (shippingItem.IsMeasured) // { // Assert.IsTrue(shippingItem.IsValidMeasuringValues()); // Assert.IsTrue(shippingItem.MeasuringCount == isMeasuredPalletsCount); // Assert.IsTrue(shippingItem.ProductDto.StockQuantity == originalShippingItem.ProductDto!.StockQuantity + incQuantity); // Assert.IsTrue(shippingItem.ProductDto.IncomingQuantity == productDto.IncomingQuantity - incQuantity); // var dbProductDto = await GetProductDtoByIdAsync(originalShippingItem.ProductId!.Value, shippingItem.IsMeasurable); // Assert.IsTrue(dbProductDto.StockQuantity == productDto.StockQuantity + incQuantity); // Assert.IsTrue(dbProductDto.IncomingQuantity == productDto.IncomingQuantity - incQuantity); // Assert.IsTrue(dbProductDto.NetWeight == double.Round(productDto.NetWeight + (shippingItem.IsMeasurable ? incNetWeight : 0), 1)); // } // else // { // incQuantity = 0; // incNetWeight = 0; // incGrossWeight = 0; // Assert.IsTrue(shippingItem.MeasuringCount > isMeasuredPalletsCount); // } // Assert.IsTrue(shippingItem.MeasuredQuantity == originalShippingItem.MeasuredQuantity + incQuantity); // Assert.IsTrue(shippingItem.ShippingItemPallets!.All(x => x.IsValidSafeMeasuringValues())); // Assert.IsTrue(shippingItem.ShippingItemPallets!.All(x => x.IsValidMeasuringValues(shippingItem.IsMeasurable))); // Assert.IsTrue(shippingItem.MeasuredNetWeight == double.Round(originalShippingItem.MeasuredNetWeight + (shippingItem.IsMeasurable ? incNetWeight : 0), 1)); // Assert.IsTrue(shippingItem.MeasuredGrossWeight == double.Round(originalShippingItem.MeasuredGrossWeight + (shippingItem.IsMeasurable ? incGrossWeight : 0), 1)); //} #endregion OrderItem #region Login [TestMethod] [DataRow("aasd@dsserver.com", "Asdasd123456")] public async Task LoginMeasuringUserTest_TrueIfHasCustomerDto(string email, string password) { var loginModelResponse = await _signalRClient.LoginMeasuringUser(email, password); Assert.IsNotNull(loginModelResponse); Assert.IsNotNull(loginModelResponse.CustomerDto, loginModelResponse.ErrorMessage); Assert.IsTrue(loginModelResponse.CustomerDto.Email == email, loginModelResponse.ErrorMessage); } [TestMethod] [DataRow("adam.g@aycode.com", "123")] public async Task LoginMeasuringUserTest_TrueIfHasNotCustomerDto(string email, string password) { var loginModelResponse = await _signalRClient.LoginMeasuringUser(email, password); Assert.IsNotNull(loginModelResponse); Assert.IsNull(loginModelResponse.CustomerDto); Assert.IsFalse(loginModelResponse.ErrorMessage.IsNullOrWhiteSpace()); Console.WriteLine($"Succes: {loginModelResponse.ErrorMessage}"); } #endregion Login } }