public async Task <IActionResult> SingleItem(string key) { int id = Int32.Parse(key); var statusMessage = await logicValidation.CheckGetSingleDataModelAsync(id); if (statusMessage.IsCompleted) { var model = await logic.GetSingleDataModelAsync(id); return(View(model)); } else { return(View("CustomError", statusMessage)); } }
public async void GetTransactionModelNewOperations_FromInitializedDbTables_LogicTransactionModelEqualExpectedTransactionModel() { // arrange var transactions = GetTransactions(); var companies = GetCompanies(); var operations = GetOperations(); var products = GetProductsForClose(); var storages = GetStorages(); var productCatalog = GetProductCatalog(); fixture.db.AddRange(transactions); fixture.db.AddRange(companies); fixture.db.AddRange(operations); fixture.db.AddRange(products); fixture.db.AddRange(storages); fixture.db.AddRange(productCatalog); await fixture.db.SaveChangesAsync(); var expectedOperations = new List <OperationModel> { new OperationModel { TransactionId = 44440, Id = 44440, ProductName = "Testotin", ProductId = 44440, StorageToName = "Test storage #1", StorageToId = 44440, StorageFromName = "Test storage #2", StorageFromId = 44441, Price = 15, Quantity = 22 }, new OperationModel { TransactionId = 44440, Id = 44441, ProductName = "Testotin", ProductId = 44440, StorageToName = "Test storage #1", StorageToId = 44440, StorageFromName = "Test storage #3", StorageFromId = 44442, Price = 17, Quantity = 8 }, }; var expected = new TransactionModel { Id = 44440, Date = DateTime.UtcNow.TrimUpToDays(), CompanyId = 44440, Type = TransactionTypes.Income, IsOpen = true, Comment = "Why chicken cross the road?", CompanyName = "Com-pun-y #1", Operations = expectedOperations }; // act var actual = await logic.GetSingleDataModelAsync(expected.Id); // assert Assert.NotNull(actual); Assert.Equal(expected.Id, actual.Id); Assert.Equal(expected.Date, actual.Date); Assert.Equal(expected.CompanyId, actual.CompanyId); Assert.Equal(expected.Type, actual.Type); Assert.Equal(expected.IsOpen, actual.IsOpen); Assert.Equal(expected.Comment, actual.Comment); Assert.Equal(expected.CompanyName, actual.CompanyName); foreach (var expectedOperation in expected.Operations) { Assert.Contains(actual.Operations, actualOperation => expectedOperation.TransactionId == actualOperation.TransactionId && expectedOperation.Id == actualOperation.Id && expectedOperation.ProductId == actualOperation.ProductId && expectedOperation.StorageToId == actualOperation.StorageToId && expectedOperation.StorageFromId == actualOperation.StorageFromId && expectedOperation.Price == actualOperation.Price && expectedOperation.Quantity == actualOperation.Quantity && expectedOperation.ProductName == actualOperation.ProductName && expectedOperation.StorageFromName == actualOperation.StorageFromName && expectedOperation.StorageToName == actualOperation.StorageToName); } }