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.FrameworkUserVMs; using wtmProject.DataAccess; namespace wtmProject.Test { [TestClass] public class FrameworkUserApiTest { private FrameworkUserController _controller; private string _seed; public FrameworkUserApiTest() { _seed = Guid.NewGuid().ToString(); _controller = MockController.CreateApi(new DataContext(_seed, DBTypeEnum.Memory), "user"); } [TestMethod] public void SearchTest() { ContentResult rv = _controller.Search(new FrameworkUserSearcher()) as ContentResult; Assert.IsTrue(string.IsNullOrEmpty(rv.Content)==false); } [TestMethod] public void CreateTest() { FrameworkUserVM vm = _controller.Wtm.CreateVM(); FrameworkUser v = new FrameworkUser(); v.Gender = WalkingTec.Mvvm.Core.GenderEnum.Male; v.CellPhone = "2WKv3Ym5qDch0mD"; v.GroupId = AddFrameworkGroup(); v.ITCode = "uGPz4rmgSf2"; v.Password = "HCJ3e28uzLkwyNHM5wYbFT"; v.Name = "1nNmpiHkrXTDayVaG7HBeywAHk2a"; v.IsValid = true; v.PhotoId = AddFileAttachment(); 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.Gender, WalkingTec.Mvvm.Core.GenderEnum.Male); Assert.AreEqual(data.CellPhone, "2WKv3Ym5qDch0mD"); Assert.AreEqual(data.ITCode, "uGPz4rmgSf2"); Assert.AreEqual(data.Password, "HCJ3e28uzLkwyNHM5wYbFT"); Assert.AreEqual(data.Name, "1nNmpiHkrXTDayVaG7HBeywAHk2a"); Assert.AreEqual(data.IsValid, true); Assert.AreEqual(data.CreateBy, "user"); Assert.IsTrue(DateTime.Now.Subtract(data.CreateTime.Value).Seconds < 10); } } [TestMethod] public void EditTest() { FrameworkUser v = new FrameworkUser(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v.Gender = WalkingTec.Mvvm.Core.GenderEnum.Male; v.CellPhone = "2WKv3Ym5qDch0mD"; v.GroupId = AddFrameworkGroup(); v.ITCode = "uGPz4rmgSf2"; v.Password = "HCJ3e28uzLkwyNHM5wYbFT"; v.Name = "1nNmpiHkrXTDayVaG7HBeywAHk2a"; v.IsValid = true; v.PhotoId = AddFileAttachment(); context.Set().Add(v); context.SaveChanges(); } FrameworkUserVM vm = _controller.Wtm.CreateVM(); var oldID = v.ID; v = new FrameworkUser(); v.ID = oldID; v.Gender = WalkingTec.Mvvm.Core.GenderEnum.Male; v.CellPhone = "QG1hB2aoFA82R5"; v.ITCode = "2tkmcajPgNf1KNmUpXAHLXeCLQa5"; v.Password = "WW55JrCB5MpNk"; v.Name = "A"; v.IsValid = true; vm.Entity = v; vm.FC = new Dictionary(); vm.FC.Add("Entity.Gender", ""); vm.FC.Add("Entity.CellPhone", ""); vm.FC.Add("Entity.GroupId", ""); vm.FC.Add("Entity.ITCode", ""); vm.FC.Add("Entity.Password", ""); vm.FC.Add("Entity.Name", ""); vm.FC.Add("Entity.IsValid", ""); vm.FC.Add("Entity.PhotoId", ""); 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.Gender, WalkingTec.Mvvm.Core.GenderEnum.Male); Assert.AreEqual(data.CellPhone, "QG1hB2aoFA82R5"); Assert.AreEqual(data.ITCode, "2tkmcajPgNf1KNmUpXAHLXeCLQa5"); Assert.AreEqual(data.Password, "WW55JrCB5MpNk"); Assert.AreEqual(data.Name, "A"); Assert.AreEqual(data.IsValid, true); Assert.AreEqual(data.UpdateBy, "user"); Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10); } } [TestMethod] public void GetTest() { FrameworkUser v = new FrameworkUser(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v.Gender = WalkingTec.Mvvm.Core.GenderEnum.Male; v.CellPhone = "2WKv3Ym5qDch0mD"; v.GroupId = AddFrameworkGroup(); v.ITCode = "uGPz4rmgSf2"; v.Password = "HCJ3e28uzLkwyNHM5wYbFT"; v.Name = "1nNmpiHkrXTDayVaG7HBeywAHk2a"; v.IsValid = true; v.PhotoId = AddFileAttachment(); context.Set().Add(v); context.SaveChanges(); } var rv = _controller.Get(v.ID.ToString()); Assert.IsNotNull(rv); } [TestMethod] public void BatchDeleteTest() { FrameworkUser v1 = new FrameworkUser(); FrameworkUser v2 = new FrameworkUser(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v1.Gender = WalkingTec.Mvvm.Core.GenderEnum.Male; v1.CellPhone = "2WKv3Ym5qDch0mD"; v1.GroupId = AddFrameworkGroup(); v1.ITCode = "uGPz4rmgSf2"; v1.Password = "HCJ3e28uzLkwyNHM5wYbFT"; v1.Name = "1nNmpiHkrXTDayVaG7HBeywAHk2a"; v1.IsValid = true; v1.PhotoId = AddFileAttachment(); v2.Gender = WalkingTec.Mvvm.Core.GenderEnum.Male; v2.CellPhone = "QG1hB2aoFA82R5"; v2.GroupId = v1.GroupId; v2.ITCode = "2tkmcajPgNf1KNmUpXAHLXeCLQa5"; v2.Password = "WW55JrCB5MpNk"; v2.Name = "A"; v2.IsValid = true; v2.PhotoId = v1.PhotoId; 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 AddFrameworkGroup() { FrameworkGroup v = new FrameworkGroup(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { try{ v.GroupCode = "sSQDx34TELYXmOf5"; v.GroupName = "Q2Qg4eSlSZKBtKxZqJUfrTTzhhuIn"; v.GroupRemark = "27hIMrZusoNWs"; v.Manager = "KAMZdR1q9"; 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 = "l"; v.FileExt = "qZ"; v.Path = "4766"; v.Length = 1; v.UploadTime = DateTime.Parse("2024-12-01 15:36:45"); v.SaveMode = "ReZ6KcCFf3u1osRwS"; v.ExtraInfo = "kDxN7SAxcDqaqvIe"; v.HandlerInfo = "IwTyW"; context.Set().Add(v); context.SaveChanges(); } catch{} } return v.ID; } } }