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 wtmProject.Controllers; using wtmProject.ViewModel._Admin.WTM_BUSINESSVMs; using wtmProject.Model; using wtmProject.DataAccess; namespace wtmProject.Test { [TestClass] public class WTM_BUSINESSApiTest { private WTM_BUSINESSController _controller; private string _seed; public WTM_BUSINESSApiTest() { _seed = Guid.NewGuid().ToString(); _controller = MockController.CreateApi(new DataContext(_seed, DBTypeEnum.Memory), "user"); } [TestMethod] public void SearchTest() { ContentResult rv = _controller.Search(new WTM_BUSINESSSearcher()) as ContentResult; Assert.IsTrue(string.IsNullOrEmpty(rv.Content)==false); } [TestMethod] public void CreateTest() { WTM_BUSINESSVM vm = _controller.Wtm.CreateVM(); WTM_BUSINESS v = new WTM_BUSINESS(); v.CustomId = AddWTM_CUSTOM(); v.VisitObjectId = AddWTM_CUSTOM_PERSON(); v.ProjectId = AddWTM_PROJECT(); v.BusinessName = "5gCgNcpyj"; v.BusinessStatus = wtmProject.Model.BusinessStatusEnum.Requirement; v.MarkManageId = AddFrameworkUser(); v.Requirement = "QRCwpBNcGEme4QVm"; v.Proposal = "sbE7"; v.BusinessProject = "mVJBhMkzlBkzi"; v.Follow = "uDO15Xl1ZSL0srXUf"; v.Negotiation = "j0S"; v.IndustryType = wtmProject.Model.IndustryTypeEnum.Mo; v.AreaId = AddWTM_AREA(); vm.Entity = v; var rv = _controller.Add(vm); Assert.IsInstanceOfType(rv, typeof(OkObjectResult)); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { var data = context.Set().Find(v.ID); Assert.AreEqual(data.BusinessName, "5gCgNcpyj"); Assert.AreEqual(data.BusinessStatus, wtmProject.Model.BusinessStatusEnum.Requirement); Assert.AreEqual(data.Requirement, "QRCwpBNcGEme4QVm"); Assert.AreEqual(data.Proposal, "sbE7"); Assert.AreEqual(data.BusinessProject, "mVJBhMkzlBkzi"); Assert.AreEqual(data.Follow, "uDO15Xl1ZSL0srXUf"); Assert.AreEqual(data.Negotiation, "j0S"); Assert.AreEqual(data.IndustryType, wtmProject.Model.IndustryTypeEnum.Mo); Assert.AreEqual(data.CreateBy, "user"); Assert.IsTrue(DateTime.Now.Subtract(data.CreateTime.Value).Seconds < 10); } } [TestMethod] public void EditTest() { WTM_BUSINESS v = new WTM_BUSINESS(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v.CustomId = AddWTM_CUSTOM(); v.VisitObjectId = AddWTM_CUSTOM_PERSON(); v.ProjectId = AddWTM_PROJECT(); v.BusinessName = "5gCgNcpyj"; v.BusinessStatus = wtmProject.Model.BusinessStatusEnum.Requirement; v.MarkManageId = AddFrameworkUser(); v.Requirement = "QRCwpBNcGEme4QVm"; v.Proposal = "sbE7"; v.BusinessProject = "mVJBhMkzlBkzi"; v.Follow = "uDO15Xl1ZSL0srXUf"; v.Negotiation = "j0S"; v.IndustryType = wtmProject.Model.IndustryTypeEnum.Mo; v.AreaId = AddWTM_AREA(); context.Set().Add(v); context.SaveChanges(); } WTM_BUSINESSVM vm = _controller.Wtm.CreateVM(); var oldID = v.ID; v = new WTM_BUSINESS(); v.ID = oldID; v.BusinessName = "Eh8eHRpl75B"; v.BusinessStatus = wtmProject.Model.BusinessStatusEnum.BusinessProject; v.Requirement = "XsOt0rr"; v.Proposal = "QohHq"; v.BusinessProject = "8WIt9abk"; v.Follow = "cPUTYivzYdH3aR78"; v.Negotiation = "lIrmseNbAfdCBkQ"; v.IndustryType = wtmProject.Model.IndustryTypeEnum.Mo; vm.Entity = v; vm.FC = new Dictionary(); vm.FC.Add("Entity.CustomId", ""); vm.FC.Add("Entity.VisitObjectId", ""); vm.FC.Add("Entity.ProjectId", ""); vm.FC.Add("Entity.BusinessName", ""); vm.FC.Add("Entity.BusinessStatus", ""); vm.FC.Add("Entity.MarkManageId", ""); vm.FC.Add("Entity.Requirement", ""); vm.FC.Add("Entity.Proposal", ""); vm.FC.Add("Entity.BusinessProject", ""); vm.FC.Add("Entity.Follow", ""); vm.FC.Add("Entity.Negotiation", ""); vm.FC.Add("Entity.IndustryType", ""); vm.FC.Add("Entity.AreaId", ""); var rv = _controller.Edit(vm); Assert.IsInstanceOfType(rv, typeof(OkObjectResult)); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { var data = context.Set().Find(v.ID); Assert.AreEqual(data.BusinessName, "Eh8eHRpl75B"); Assert.AreEqual(data.BusinessStatus, wtmProject.Model.BusinessStatusEnum.BusinessProject); Assert.AreEqual(data.Requirement, "XsOt0rr"); Assert.AreEqual(data.Proposal, "QohHq"); Assert.AreEqual(data.BusinessProject, "8WIt9abk"); Assert.AreEqual(data.Follow, "cPUTYivzYdH3aR78"); Assert.AreEqual(data.Negotiation, "lIrmseNbAfdCBkQ"); Assert.AreEqual(data.IndustryType, wtmProject.Model.IndustryTypeEnum.Mo); Assert.AreEqual(data.UpdateBy, "user"); Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10); } } [TestMethod] public void GetTest() { WTM_BUSINESS v = new WTM_BUSINESS(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v.CustomId = AddWTM_CUSTOM(); v.VisitObjectId = AddWTM_CUSTOM_PERSON(); v.ProjectId = AddWTM_PROJECT(); v.BusinessName = "5gCgNcpyj"; v.BusinessStatus = wtmProject.Model.BusinessStatusEnum.Requirement; v.MarkManageId = AddFrameworkUser(); v.Requirement = "QRCwpBNcGEme4QVm"; v.Proposal = "sbE7"; v.BusinessProject = "mVJBhMkzlBkzi"; v.Follow = "uDO15Xl1ZSL0srXUf"; v.Negotiation = "j0S"; v.IndustryType = wtmProject.Model.IndustryTypeEnum.Mo; v.AreaId = AddWTM_AREA(); context.Set().Add(v); context.SaveChanges(); } var rv = _controller.Get(v.ID.ToString()); Assert.IsNotNull(rv); } [TestMethod] public void BatchDeleteTest() { WTM_BUSINESS v1 = new WTM_BUSINESS(); WTM_BUSINESS v2 = new WTM_BUSINESS(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v1.CustomId = AddWTM_CUSTOM(); v1.VisitObjectId = AddWTM_CUSTOM_PERSON(); v1.ProjectId = AddWTM_PROJECT(); v1.BusinessName = "5gCgNcpyj"; v1.BusinessStatus = wtmProject.Model.BusinessStatusEnum.Requirement; v1.MarkManageId = AddFrameworkUser(); v1.Requirement = "QRCwpBNcGEme4QVm"; v1.Proposal = "sbE7"; v1.BusinessProject = "mVJBhMkzlBkzi"; v1.Follow = "uDO15Xl1ZSL0srXUf"; v1.Negotiation = "j0S"; v1.IndustryType = wtmProject.Model.IndustryTypeEnum.Mo; v1.AreaId = AddWTM_AREA(); v2.CustomId = v1.CustomId; v2.VisitObjectId = v1.VisitObjectId; v2.ProjectId = v1.ProjectId; v2.BusinessName = "Eh8eHRpl75B"; v2.BusinessStatus = wtmProject.Model.BusinessStatusEnum.BusinessProject; v2.MarkManageId = v1.MarkManageId; v2.Requirement = "XsOt0rr"; v2.Proposal = "QohHq"; v2.BusinessProject = "8WIt9abk"; v2.Follow = "cPUTYivzYdH3aR78"; v2.Negotiation = "lIrmseNbAfdCBkQ"; v2.IndustryType = wtmProject.Model.IndustryTypeEnum.Mo; v2.AreaId = v1.AreaId; context.Set().Add(v1); context.Set().Add(v2); context.SaveChanges(); } var rv = _controller.BatchDelete(new string[] { v1.ID.ToString(), v2.ID.ToString() }); Assert.IsInstanceOfType(rv, typeof(OkObjectResult)); 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); } rv = _controller.BatchDelete(new string[] {}); Assert.IsInstanceOfType(rv, typeof(OkResult)); } private Guid AddWTM_AREA() { WTM_AREA v = new WTM_AREA(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { try{ v.AreaCode = "cDRxLoUfSX3QA5AinBuPCpH"; v.AreaName = "vaNuSln8BZutxcbX4oOkG"; context.Set().Add(v); context.SaveChanges(); } catch{} } return v.ID; } private Guid AddWTM_CUSTOM() { WTM_CUSTOM v = new WTM_CUSTOM(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { try{ v.CustomAllName = "NDQcxDgxWfL8eIEX6bKTjOgySbkKdsdPbX018LCUPf"; v.CustomShortName = "Z2RzPpVrE7Tc0DPsE"; v.ParentUnit = "R"; v.AreaId = AddWTM_AREA(); v.EnterprisesType = wtmProject.Model.EnterprisesTypeEnum.Country; v.IndustryType = wtmProject.Model.IndustryTypeEnum.Tungsten; context.Set().Add(v); context.SaveChanges(); } catch{} } return v.ID; } private Guid AddWTM_CUSTOM_PERSON() { WTM_CUSTOM_PERSON v = new WTM_CUSTOM_PERSON(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { try{ v.CustomId = AddWTM_CUSTOM(); v.PersonName = "1a8CmWw5l4YgZjCFHHhkBLuhwqLX6vzoya"; v.PersonPhone = "uSaSvbnbqhWKZY"; v.PersonPost = "upzrw3dEFEen3SnepSp"; context.Set().Add(v); context.SaveChanges(); } catch{} } return v.ID; } private Guid AddWTM_PROJECT() { WTM_PROJECT v = new WTM_PROJECT(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { try{ v.ProjectCode = "8sRI7e1RDrpoHq3uwI"; v.ProjectName = "ThF5W6TN2F0jJ2"; context.Set().Add(v); context.SaveChanges(); } catch{} } return v.ID; } private Guid AddFrameworkGroup() { FrameworkGroup v = new FrameworkGroup(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { try{ v.GroupCode = "qKGHZyrUcSOjt"; v.GroupName = "y6vAgKLzOa"; v.GroupRemark = "pwtG2uxbxnBawaoS5"; v.Manager = "f1dHY4fN"; context.Set().Add(v); context.SaveChanges(); } catch{} } return v.ID; } private Guid AddFileAttachment() { FileAttachment v = new FileAttachment(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { try{ v.FileName = "o1Kye"; v.FileExt = "3wIsQnZo"; v.Path = "cMMt4Oi0Uks1Gppt"; v.Length = 18; v.UploadTime = DateTime.Parse("2023-01-19 11:58:23"); v.SaveMode = "Nw8gI3zRbu"; v.ExtraInfo = "TO8"; v.HandlerInfo = "yqGRm"; context.Set().Add(v); context.SaveChanges(); } catch{} } return v.ID; } private Guid AddFrameworkUser() { FrameworkUser v = new FrameworkUser(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { try{ v.Gender = WalkingTec.Mvvm.Core.GenderEnum.Male; v.CellPhone = "h8AO3NXnSbRZbPu1"; v.GroupId = AddFrameworkGroup(); v.ITCode = "sNr8LSUZm982ds6C8J9W7SJcLUUz6pFqCnKzkIx26C"; v.Password = "hfLpuiMfTrBdF2"; v.Name = "HzNsj9DqzOTVUjNh0BGb4B8hh0ZM8zVSIzBh5m"; v.IsValid = true; v.PhotoId = AddFileAttachment(); context.Set().Add(v); context.SaveChanges(); } catch{} } return v.ID; } } }