using Microsoft.AspNetCore.Mvc; using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Collections.Generic; using System.Linq; using System.Text; using WalkingTec.Mvvm.Core; using cy_scdz.Controllers; using cy_scdz.ViewModel.Order.OrderProductionVMs; using cy_scdz.Model.Oder; using cy_scdz.DataAccess; namespace cy_scdz.Test { [TestClass] public class OrderProductionControllerTest { private OrderProductionController _controller; private string _seed; public OrderProductionControllerTest() { _seed = Guid.NewGuid().ToString(); _controller = MockController.CreateController(new DataContext(_seed, DBTypeEnum.Memory), "user"); } [TestMethod] public void SearchTest() { PartialViewResult rv = (PartialViewResult)_controller.Index(); Assert.IsInstanceOfType(rv.Model, typeof(IBasePagedListVM)); string rv2 = _controller.Search((rv.Model as OrderProductionListVM).Searcher); Assert.IsTrue(rv2.Contains("\"Code\":200")); } [TestMethod] public void CreateTest() { PartialViewResult rv = (PartialViewResult)_controller.Create(); Assert.IsInstanceOfType(rv.Model, typeof(OrderProductionVM)); OrderProductionVM vm = rv.Model as OrderProductionVM; OrderProduction v = new OrderProduction(); v.OderId = AddOrderInfo(); v.Workbook16KCount = 8; v.Workbook16KPrice = 86; v.Workbook16KManufacturerId = "vw"; v.Workbook32KCount = 75; v.Workbook32KPrice = 53; v.Workbook32KManufacturerId = "NwDYVdgNN6UMyR"; v.PictureBook16KCount = 0; v.PictureBook16KPrice = 19; v.PictureBook16KManufacturerId = "1EJIm1rqJSx4"; v.PictureBook32KCount = 56; v.PictureBook32KPrice = 6; v.PictureBook32KManufacturerId = "PRZNQFXugVp"; v.PictureBookA4Count = 64; v.PictureBookA4KPrice = 18; v.PictureBookA4KManufacturerId = "nJZv9K8S17Go6wct"; v.LargeCharacterBookCount = 25; v.LargeCharacterPrice = 65; v.LargeCharacterManufacturerIds = "IatlD"; v.Mark = "b5Hl"; v.DeliveryTime = DateTime.Parse("2024-10-18 11:49:12"); v.Chunqiuji = cy_scdz.Model.Oder.chunqiue.qiu; v.IsOver = false; vm.Entity = v; _controller.Create(vm); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { var data = context.Set().Find(v.ID); Assert.AreEqual(data.Workbook16KCount, 8); Assert.AreEqual(data.Workbook16KPrice, 86); Assert.AreEqual(data.Workbook16KManufacturerId, "vw"); Assert.AreEqual(data.Workbook32KCount, 75); Assert.AreEqual(data.Workbook32KPrice, 53); Assert.AreEqual(data.Workbook32KManufacturerId, "NwDYVdgNN6UMyR"); Assert.AreEqual(data.PictureBook16KCount, 0); Assert.AreEqual(data.PictureBook16KPrice, 19); Assert.AreEqual(data.PictureBook16KManufacturerId, "1EJIm1rqJSx4"); Assert.AreEqual(data.PictureBook32KCount, 56); Assert.AreEqual(data.PictureBook32KPrice, 6); Assert.AreEqual(data.PictureBook32KManufacturerId, "PRZNQFXugVp"); Assert.AreEqual(data.PictureBookA4Count, 64); Assert.AreEqual(data.PictureBookA4KPrice, 18); Assert.AreEqual(data.PictureBookA4KManufacturerId, "nJZv9K8S17Go6wct"); Assert.AreEqual(data.LargeCharacterBookCount, 25); Assert.AreEqual(data.LargeCharacterPrice, 65); Assert.AreEqual(data.LargeCharacterManufacturerIds, "IatlD"); Assert.AreEqual(data.Mark, "b5Hl"); Assert.AreEqual(data.DeliveryTime, DateTime.Parse("2024-10-18 11:49:12")); Assert.AreEqual(data.Chunqiuji, cy_scdz.Model.Oder.chunqiue.qiu); Assert.AreEqual(data.IsOver, false); Assert.AreEqual(data.CreateBy, "user"); Assert.IsTrue(DateTime.Now.Subtract(data.CreateTime.Value).Seconds < 10); } } [TestMethod] public void EditTest() { OrderProduction v = new OrderProduction(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v.OderId = AddOrderInfo(); v.Workbook16KCount = 8; v.Workbook16KPrice = 86; v.Workbook16KManufacturerId = "vw"; v.Workbook32KCount = 75; v.Workbook32KPrice = 53; v.Workbook32KManufacturerId = "NwDYVdgNN6UMyR"; v.PictureBook16KCount = 0; v.PictureBook16KPrice = 19; v.PictureBook16KManufacturerId = "1EJIm1rqJSx4"; v.PictureBook32KCount = 56; v.PictureBook32KPrice = 6; v.PictureBook32KManufacturerId = "PRZNQFXugVp"; v.PictureBookA4Count = 64; v.PictureBookA4KPrice = 18; v.PictureBookA4KManufacturerId = "nJZv9K8S17Go6wct"; v.LargeCharacterBookCount = 25; v.LargeCharacterPrice = 65; v.LargeCharacterManufacturerIds = "IatlD"; v.Mark = "b5Hl"; v.DeliveryTime = DateTime.Parse("2024-10-18 11:49:12"); v.Chunqiuji = cy_scdz.Model.Oder.chunqiue.qiu; v.IsOver = false; context.Set().Add(v); context.SaveChanges(); } PartialViewResult rv = (PartialViewResult)_controller.Edit(v.ID.ToString()); Assert.IsInstanceOfType(rv.Model, typeof(OrderProductionVM)); OrderProductionVM vm = rv.Model as OrderProductionVM; vm.Wtm.DC = new DataContext(_seed, DBTypeEnum.Memory); v = new OrderProduction(); v.ID = vm.Entity.ID; v.Workbook16KCount = 34; v.Workbook16KPrice = 90; v.Workbook16KManufacturerId = "rH9rS8WltK"; v.Workbook32KCount = 58; v.Workbook32KPrice = 59; v.Workbook32KManufacturerId = "VU6am"; v.PictureBook16KCount = 11; v.PictureBook16KPrice = 93; v.PictureBook16KManufacturerId = "E488h7QbNrRqF"; v.PictureBook32KCount = 32; v.PictureBook32KPrice = 29; v.PictureBook32KManufacturerId = "bfleJn"; v.PictureBookA4Count = 10; v.PictureBookA4KPrice = 65; v.PictureBookA4KManufacturerId = "f7o"; v.LargeCharacterBookCount = 4; v.LargeCharacterPrice = 84; v.LargeCharacterManufacturerIds = "x"; v.Mark = "iFqVNYrTwDVvVALN"; v.DeliveryTime = DateTime.Parse("2023-11-30 11:49:12"); v.Chunqiuji = cy_scdz.Model.Oder.chunqiue.qiu; v.IsOver = true; vm.Entity = v; vm.FC = new Dictionary(); vm.FC.Add("Entity.OderId", ""); vm.FC.Add("Entity.Workbook16KCount", ""); vm.FC.Add("Entity.Workbook16KPrice", ""); vm.FC.Add("Entity.Workbook16KManufacturerId", ""); vm.FC.Add("Entity.Workbook32KCount", ""); vm.FC.Add("Entity.Workbook32KPrice", ""); vm.FC.Add("Entity.Workbook32KManufacturerId", ""); vm.FC.Add("Entity.PictureBook16KCount", ""); vm.FC.Add("Entity.PictureBook16KPrice", ""); vm.FC.Add("Entity.PictureBook16KManufacturerId", ""); vm.FC.Add("Entity.PictureBook32KCount", ""); vm.FC.Add("Entity.PictureBook32KPrice", ""); vm.FC.Add("Entity.PictureBook32KManufacturerId", ""); vm.FC.Add("Entity.PictureBookA4Count", ""); vm.FC.Add("Entity.PictureBookA4KPrice", ""); vm.FC.Add("Entity.PictureBookA4KManufacturerId", ""); vm.FC.Add("Entity.LargeCharacterBookCount", ""); vm.FC.Add("Entity.LargeCharacterPrice", ""); vm.FC.Add("Entity.LargeCharacterManufacturerIds", ""); vm.FC.Add("Entity.Mark", ""); vm.FC.Add("Entity.DeliveryTime", ""); vm.FC.Add("Entity.Chunqiuji", ""); vm.FC.Add("Entity.IsOver", ""); _controller.Edit(vm); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { var data = context.Set().Find(v.ID); Assert.AreEqual(data.Workbook16KCount, 34); Assert.AreEqual(data.Workbook16KPrice, 90); Assert.AreEqual(data.Workbook16KManufacturerId, "rH9rS8WltK"); Assert.AreEqual(data.Workbook32KCount, 58); Assert.AreEqual(data.Workbook32KPrice, 59); Assert.AreEqual(data.Workbook32KManufacturerId, "VU6am"); Assert.AreEqual(data.PictureBook16KCount, 11); Assert.AreEqual(data.PictureBook16KPrice, 93); Assert.AreEqual(data.PictureBook16KManufacturerId, "E488h7QbNrRqF"); Assert.AreEqual(data.PictureBook32KCount, 32); Assert.AreEqual(data.PictureBook32KPrice, 29); Assert.AreEqual(data.PictureBook32KManufacturerId, "bfleJn"); Assert.AreEqual(data.PictureBookA4Count, 10); Assert.AreEqual(data.PictureBookA4KPrice, 65); Assert.AreEqual(data.PictureBookA4KManufacturerId, "f7o"); Assert.AreEqual(data.LargeCharacterBookCount, 4); Assert.AreEqual(data.LargeCharacterPrice, 84); Assert.AreEqual(data.LargeCharacterManufacturerIds, "x"); Assert.AreEqual(data.Mark, "iFqVNYrTwDVvVALN"); Assert.AreEqual(data.DeliveryTime, DateTime.Parse("2023-11-30 11:49:12")); Assert.AreEqual(data.Chunqiuji, cy_scdz.Model.Oder.chunqiue.qiu); Assert.AreEqual(data.IsOver, true); Assert.AreEqual(data.UpdateBy, "user"); Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10); } } [TestMethod] public void DeleteTest() { OrderProduction v = new OrderProduction(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v.OderId = AddOrderInfo(); v.Workbook16KCount = 8; v.Workbook16KPrice = 86; v.Workbook16KManufacturerId = "vw"; v.Workbook32KCount = 75; v.Workbook32KPrice = 53; v.Workbook32KManufacturerId = "NwDYVdgNN6UMyR"; v.PictureBook16KCount = 0; v.PictureBook16KPrice = 19; v.PictureBook16KManufacturerId = "1EJIm1rqJSx4"; v.PictureBook32KCount = 56; v.PictureBook32KPrice = 6; v.PictureBook32KManufacturerId = "PRZNQFXugVp"; v.PictureBookA4Count = 64; v.PictureBookA4KPrice = 18; v.PictureBookA4KManufacturerId = "nJZv9K8S17Go6wct"; v.LargeCharacterBookCount = 25; v.LargeCharacterPrice = 65; v.LargeCharacterManufacturerIds = "IatlD"; v.Mark = "b5Hl"; v.DeliveryTime = DateTime.Parse("2024-10-18 11:49:12"); v.Chunqiuji = cy_scdz.Model.Oder.chunqiue.qiu; v.IsOver = false; context.Set().Add(v); context.SaveChanges(); } PartialViewResult rv = (PartialViewResult)_controller.Delete(v.ID.ToString()); Assert.IsInstanceOfType(rv.Model, typeof(OrderProductionVM)); OrderProductionVM vm = rv.Model as OrderProductionVM; v = new OrderProduction(); v.ID = vm.Entity.ID; vm.Entity = v; _controller.Delete(v.ID.ToString(),null); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { var data = context.Set().Find(v.ID); Assert.AreEqual(data, null); } } [TestMethod] public void DetailsTest() { OrderProduction v = new OrderProduction(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v.OderId = AddOrderInfo(); v.Workbook16KCount = 8; v.Workbook16KPrice = 86; v.Workbook16KManufacturerId = "vw"; v.Workbook32KCount = 75; v.Workbook32KPrice = 53; v.Workbook32KManufacturerId = "NwDYVdgNN6UMyR"; v.PictureBook16KCount = 0; v.PictureBook16KPrice = 19; v.PictureBook16KManufacturerId = "1EJIm1rqJSx4"; v.PictureBook32KCount = 56; v.PictureBook32KPrice = 6; v.PictureBook32KManufacturerId = "PRZNQFXugVp"; v.PictureBookA4Count = 64; v.PictureBookA4KPrice = 18; v.PictureBookA4KManufacturerId = "nJZv9K8S17Go6wct"; v.LargeCharacterBookCount = 25; v.LargeCharacterPrice = 65; v.LargeCharacterManufacturerIds = "IatlD"; v.Mark = "b5Hl"; v.DeliveryTime = DateTime.Parse("2024-10-18 11:49:12"); v.Chunqiuji = cy_scdz.Model.Oder.chunqiue.qiu; v.IsOver = false; context.Set().Add(v); context.SaveChanges(); } PartialViewResult rv = (PartialViewResult)_controller.Details(v.ID.ToString()); Assert.IsInstanceOfType(rv.Model, typeof(IBaseCRUDVM)); Assert.AreEqual(v.ID, (rv.Model as IBaseCRUDVM).Entity.GetID()); } [TestMethod] public void BatchEditTest() { OrderProduction v1 = new OrderProduction(); OrderProduction v2 = new OrderProduction(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v1.OderId = AddOrderInfo(); v1.Workbook16KCount = 8; v1.Workbook16KPrice = 86; v1.Workbook16KManufacturerId = "vw"; v1.Workbook32KCount = 75; v1.Workbook32KPrice = 53; v1.Workbook32KManufacturerId = "NwDYVdgNN6UMyR"; v1.PictureBook16KCount = 0; v1.PictureBook16KPrice = 19; v1.PictureBook16KManufacturerId = "1EJIm1rqJSx4"; v1.PictureBook32KCount = 56; v1.PictureBook32KPrice = 6; v1.PictureBook32KManufacturerId = "PRZNQFXugVp"; v1.PictureBookA4Count = 64; v1.PictureBookA4KPrice = 18; v1.PictureBookA4KManufacturerId = "nJZv9K8S17Go6wct"; v1.LargeCharacterBookCount = 25; v1.LargeCharacterPrice = 65; v1.LargeCharacterManufacturerIds = "IatlD"; v1.Mark = "b5Hl"; v1.DeliveryTime = DateTime.Parse("2024-10-18 11:49:12"); v1.Chunqiuji = cy_scdz.Model.Oder.chunqiue.qiu; v1.IsOver = false; v2.OderId = v1.OderId; v2.Workbook16KCount = 34; v2.Workbook16KPrice = 90; v2.Workbook16KManufacturerId = "rH9rS8WltK"; v2.Workbook32KCount = 58; v2.Workbook32KPrice = 59; v2.Workbook32KManufacturerId = "VU6am"; v2.PictureBook16KCount = 11; v2.PictureBook16KPrice = 93; v2.PictureBook16KManufacturerId = "E488h7QbNrRqF"; v2.PictureBook32KCount = 32; v2.PictureBook32KPrice = 29; v2.PictureBook32KManufacturerId = "bfleJn"; v2.PictureBookA4Count = 10; v2.PictureBookA4KPrice = 65; v2.PictureBookA4KManufacturerId = "f7o"; v2.LargeCharacterBookCount = 4; v2.LargeCharacterPrice = 84; v2.LargeCharacterManufacturerIds = "x"; v2.Mark = "iFqVNYrTwDVvVALN"; v2.DeliveryTime = DateTime.Parse("2023-11-30 11:49:12"); v2.Chunqiuji = cy_scdz.Model.Oder.chunqiue.qiu; v2.IsOver = true; context.Set().Add(v1); context.Set().Add(v2); context.SaveChanges(); } PartialViewResult rv = (PartialViewResult)_controller.BatchDelete(new string[] { v1.ID.ToString(), v2.ID.ToString() }); Assert.IsInstanceOfType(rv.Model, typeof(OrderProductionBatchVM)); OrderProductionBatchVM vm = rv.Model as OrderProductionBatchVM; vm.Ids = new string[] { v1.ID.ToString(), v2.ID.ToString() }; vm.FC = new Dictionary(); _controller.DoBatchEdit(vm, null); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { var data1 = context.Set().Find(v1.ID); var data2 = context.Set().Find(v2.ID); Assert.AreEqual(data1.UpdateBy, "user"); Assert.IsTrue(DateTime.Now.Subtract(data1.UpdateTime.Value).Seconds < 10); Assert.AreEqual(data2.UpdateBy, "user"); Assert.IsTrue(DateTime.Now.Subtract(data2.UpdateTime.Value).Seconds < 10); } } [TestMethod] public void BatchDeleteTest() { OrderProduction v1 = new OrderProduction(); OrderProduction v2 = new OrderProduction(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v1.OderId = AddOrderInfo(); v1.Workbook16KCount = 8; v1.Workbook16KPrice = 86; v1.Workbook16KManufacturerId = "vw"; v1.Workbook32KCount = 75; v1.Workbook32KPrice = 53; v1.Workbook32KManufacturerId = "NwDYVdgNN6UMyR"; v1.PictureBook16KCount = 0; v1.PictureBook16KPrice = 19; v1.PictureBook16KManufacturerId = "1EJIm1rqJSx4"; v1.PictureBook32KCount = 56; v1.PictureBook32KPrice = 6; v1.PictureBook32KManufacturerId = "PRZNQFXugVp"; v1.PictureBookA4Count = 64; v1.PictureBookA4KPrice = 18; v1.PictureBookA4KManufacturerId = "nJZv9K8S17Go6wct"; v1.LargeCharacterBookCount = 25; v1.LargeCharacterPrice = 65; v1.LargeCharacterManufacturerIds = "IatlD"; v1.Mark = "b5Hl"; v1.DeliveryTime = DateTime.Parse("2024-10-18 11:49:12"); v1.Chunqiuji = cy_scdz.Model.Oder.chunqiue.qiu; v1.IsOver = false; v2.OderId = v1.OderId; v2.Workbook16KCount = 34; v2.Workbook16KPrice = 90; v2.Workbook16KManufacturerId = "rH9rS8WltK"; v2.Workbook32KCount = 58; v2.Workbook32KPrice = 59; v2.Workbook32KManufacturerId = "VU6am"; v2.PictureBook16KCount = 11; v2.PictureBook16KPrice = 93; v2.PictureBook16KManufacturerId = "E488h7QbNrRqF"; v2.PictureBook32KCount = 32; v2.PictureBook32KPrice = 29; v2.PictureBook32KManufacturerId = "bfleJn"; v2.PictureBookA4Count = 10; v2.PictureBookA4KPrice = 65; v2.PictureBookA4KManufacturerId = "f7o"; v2.LargeCharacterBookCount = 4; v2.LargeCharacterPrice = 84; v2.LargeCharacterManufacturerIds = "x"; v2.Mark = "iFqVNYrTwDVvVALN"; v2.DeliveryTime = DateTime.Parse("2023-11-30 11:49:12"); v2.Chunqiuji = cy_scdz.Model.Oder.chunqiue.qiu; v2.IsOver = true; context.Set().Add(v1); context.Set().Add(v2); context.SaveChanges(); } PartialViewResult rv = (PartialViewResult)_controller.BatchDelete(new string[] { v1.ID.ToString(), v2.ID.ToString() }); Assert.IsInstanceOfType(rv.Model, typeof(OrderProductionBatchVM)); OrderProductionBatchVM vm = rv.Model as OrderProductionBatchVM; vm.Ids = new string[] { v1.ID.ToString(), v2.ID.ToString() }; _controller.DoBatchDelete(vm, null); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { var data1 = context.Set().Find(v1.ID); var data2 = context.Set().Find(v2.ID); Assert.AreEqual(data1, null); Assert.AreEqual(data2, null); } } [TestMethod] public void ExportTest() { PartialViewResult rv = (PartialViewResult)_controller.Index(); Assert.IsInstanceOfType(rv.Model, typeof(IBasePagedListVM)); IActionResult rv2 = _controller.ExportExcel(rv.Model as OrderProductionListVM); Assert.IsTrue((rv2 as FileContentResult).FileContents.Length > 0); } private Guid AddDictionary() { Dictionary v = new Dictionary(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { try{ v.Name = "ZduWh6QtVECvy"; v.Key = "P85L29A"; v.Value = "Uaka8lrdb54Jl"; v.IsEn = false; context.Set().Add(v); context.SaveChanges(); } catch{} } return v.ID; } private Guid AddOrderInfo() { OrderInfo v = new OrderInfo(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { try{ v.Title = "Kcb"; v.WinBidTime = DateTime.Parse("2024-11-05 11:49:12"); v.InitialDeliveryTime = DateTime.Parse("2023-01-29 11:49:12"); v.Chunqiuji = cy_scdz.Model.Oder.chunqiue.qiu; v.SemesterId = AddDictionary(); v.BidMoney = 63; v.SupplierId = AddDictionary(); v.BidTypeId = AddDictionary(); v.TenderAgentFee = 17; v.WorkbookCoverPaperTypeId = AddDictionary(); v.WorkbookInnerPaperTypeId = AddDictionary(); v.WorkbookColorTypeId = AddDictionary(); v.WorkbookBindingTypeId = AddDictionary(); v.WorkbookInnerPageCodeId = AddDictionary(); v.PictureBookCoverPaperTypeId = AddDictionary(); v.PictureBookInnerPaperTypeId = AddDictionary(); v.PictureBookColorTypeId = AddDictionary(); v.PictureBookBindingTypeId = AddDictionary(); v.PictureBookInnerPageCodeId = AddDictionary(); v.LargeCharacterBookCoverPaperTypeId = AddDictionary(); v.LargeCharacterBookInnerPaperTypeId = AddDictionary(); v.LargeCharacterBookColorTypeId = AddDictionary(); v.LargeCharacterBookBindingTypeId = AddDictionary(); v.LargeCharacterBookInnerPageCodeId = AddDictionary(); context.Set().Add(v); context.SaveChanges(); } catch{} } return v.ID; } } }