mh_custom/wtmProject.Test/WTM_VISIT_PLANApiTest.cs
2024-05-17 13:43:36 +08:00

303 lines
13 KiB
C#

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_VISIT_PLANVMs;
using wtmProject.Model;
using wtmProject.DataAccess;
namespace wtmProject.Test
{
[TestClass]
public class WTM_VISIT_PLANApiTest
{
private WTM_VISIT_PLANController _controller;
private string _seed;
public WTM_VISIT_PLANApiTest()
{
_seed = Guid.NewGuid().ToString();
_controller = MockController.CreateApi<WTM_VISIT_PLANController>(new DataContext(_seed, DBTypeEnum.Memory), "user");
}
[TestMethod]
public void SearchTest()
{
ContentResult rv = _controller.Search(new WTM_VISIT_PLANSearcher()) as ContentResult;
Assert.IsTrue(string.IsNullOrEmpty(rv.Content)==false);
}
[TestMethod]
public void CreateTest()
{
WTM_VISIT_PLANVM vm = _controller.Wtm.CreateVM<WTM_VISIT_PLANVM>();
WTM_VISIT_PLAN v = new WTM_VISIT_PLAN();
v.CustomId = AddWTM_CUSTOM();
v.AreaId = AddWTM_AREA();
v.VisitObjectId = AddWTM_CUSTOM_PERSON();
v.VisitStartTime = DateTime.Parse("2024-06-15 16:22:47");
v.VisitEndTime = DateTime.Parse("2024-06-20 16:22:47");
v.VisitTarget = "V27KaBibnaAucD8MVmKab9eUxCLY43hD6PmqQMEK2hURtYhmEabTgZIzv01my3CWYmn77uysiWasIy5BtGYfiwWCiTUkcxpSSroHKfizjIV51fQHmeNwQRXegYm4bcXwq2zgewHZyqKsUNhiIjn8O4iVAU9GTHOtOIduB13bUAWfphGJdPKs4JF3Dbd46RTzbBKgg8y5LD0I5ISv72POQJ6Xn3we74Eh2pQygLIYvFa1kjn0uEhfN2SMcNYMI16NdVIeIypi8ALMzYAO7X46NV8amOI4yDJwBnS";
v.MarkManageId = AddFrameworkUser();
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<WTM_VISIT_PLAN>().Find(v.ID);
Assert.AreEqual(data.VisitStartTime, DateTime.Parse("2024-06-15 16:22:47"));
Assert.AreEqual(data.VisitEndTime, DateTime.Parse("2024-06-20 16:22:47"));
Assert.AreEqual(data.VisitTarget, "V27KaBibnaAucD8MVmKab9eUxCLY43hD6PmqQMEK2hURtYhmEabTgZIzv01my3CWYmn77uysiWasIy5BtGYfiwWCiTUkcxpSSroHKfizjIV51fQHmeNwQRXegYm4bcXwq2zgewHZyqKsUNhiIjn8O4iVAU9GTHOtOIduB13bUAWfphGJdPKs4JF3Dbd46RTzbBKgg8y5LD0I5ISv72POQJ6Xn3we74Eh2pQygLIYvFa1kjn0uEhfN2SMcNYMI16NdVIeIypi8ALMzYAO7X46NV8amOI4yDJwBnS");
Assert.AreEqual(data.CreateBy, "user");
Assert.IsTrue(DateTime.Now.Subtract(data.CreateTime.Value).Seconds < 10);
}
}
[TestMethod]
public void EditTest()
{
WTM_VISIT_PLAN v = new WTM_VISIT_PLAN();
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
{
v.CustomId = AddWTM_CUSTOM();
v.AreaId = AddWTM_AREA();
v.VisitObjectId = AddWTM_CUSTOM_PERSON();
v.VisitStartTime = DateTime.Parse("2024-06-15 16:22:47");
v.VisitEndTime = DateTime.Parse("2024-06-20 16:22:47");
v.VisitTarget = "V27KaBibnaAucD8MVmKab9eUxCLY43hD6PmqQMEK2hURtYhmEabTgZIzv01my3CWYmn77uysiWasIy5BtGYfiwWCiTUkcxpSSroHKfizjIV51fQHmeNwQRXegYm4bcXwq2zgewHZyqKsUNhiIjn8O4iVAU9GTHOtOIduB13bUAWfphGJdPKs4JF3Dbd46RTzbBKgg8y5LD0I5ISv72POQJ6Xn3we74Eh2pQygLIYvFa1kjn0uEhfN2SMcNYMI16NdVIeIypi8ALMzYAO7X46NV8amOI4yDJwBnS";
v.MarkManageId = AddFrameworkUser();
context.Set<WTM_VISIT_PLAN>().Add(v);
context.SaveChanges();
}
WTM_VISIT_PLANVM vm = _controller.Wtm.CreateVM<WTM_VISIT_PLANVM>();
var oldID = v.ID;
v = new WTM_VISIT_PLAN();
v.ID = oldID;
v.VisitStartTime = DateTime.Parse("2024-06-25 16:22:47");
v.VisitEndTime = DateTime.Parse("2023-05-03 16:22:47");
v.VisitTarget = "y4seHcv9Oosdo8sFXq3VIc5ws9xasiyEnTYX0eVp9j9dA26srT31Xb3tj52aNfjWe6fJpA5TXko1kc3gme7Slc3T4w9x3QGnvBAo4YsdHE7poCs4SllFe1hoQnpnQzNEIyvchmJHJhDMV1pTvh9L83ugxXXzLxELkNZw7oFDOWOisFv8i9p3nPfi6EPbJTztjFS3wmtbzbyPwOr5q49PcNF4h5hwdmKNg3gBgyUGNgRwDxPbSvMdiHspS4YRDxKiWgfB93ctvTJwGeKvU3wfI0qYYAHhMADxSjdou4IIcp6dgg91Q6EcKrlcs9Oi6LIY2IviP5r0X4fi1nDbS1kBI5AMAqEvqGlsqtG042QGfSBZhISIyrAkRCSCwmHFQeSyVILqnKyhp";
vm.Entity = v;
vm.FC = new Dictionary<string, object>();
vm.FC.Add("Entity.CustomId", "");
vm.FC.Add("Entity.AreaId", "");
vm.FC.Add("Entity.VisitObjectId", "");
vm.FC.Add("Entity.VisitStartTime", "");
vm.FC.Add("Entity.VisitEndTime", "");
vm.FC.Add("Entity.VisitTarget", "");
vm.FC.Add("Entity.MarkManageId", "");
var rv = _controller.Edit(vm);
Assert.IsInstanceOfType(rv, typeof(OkObjectResult));
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
{
var data = context.Set<WTM_VISIT_PLAN>().Find(v.ID);
Assert.AreEqual(data.VisitStartTime, DateTime.Parse("2024-06-25 16:22:47"));
Assert.AreEqual(data.VisitEndTime, DateTime.Parse("2023-05-03 16:22:47"));
Assert.AreEqual(data.VisitTarget, "y4seHcv9Oosdo8sFXq3VIc5ws9xasiyEnTYX0eVp9j9dA26srT31Xb3tj52aNfjWe6fJpA5TXko1kc3gme7Slc3T4w9x3QGnvBAo4YsdHE7poCs4SllFe1hoQnpnQzNEIyvchmJHJhDMV1pTvh9L83ugxXXzLxELkNZw7oFDOWOisFv8i9p3nPfi6EPbJTztjFS3wmtbzbyPwOr5q49PcNF4h5hwdmKNg3gBgyUGNgRwDxPbSvMdiHspS4YRDxKiWgfB93ctvTJwGeKvU3wfI0qYYAHhMADxSjdou4IIcp6dgg91Q6EcKrlcs9Oi6LIY2IviP5r0X4fi1nDbS1kBI5AMAqEvqGlsqtG042QGfSBZhISIyrAkRCSCwmHFQeSyVILqnKyhp");
Assert.AreEqual(data.UpdateBy, "user");
Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10);
}
}
[TestMethod]
public void GetTest()
{
WTM_VISIT_PLAN v = new WTM_VISIT_PLAN();
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
{
v.CustomId = AddWTM_CUSTOM();
v.AreaId = AddWTM_AREA();
v.VisitObjectId = AddWTM_CUSTOM_PERSON();
v.VisitStartTime = DateTime.Parse("2024-06-15 16:22:47");
v.VisitEndTime = DateTime.Parse("2024-06-20 16:22:47");
v.VisitTarget = "V27KaBibnaAucD8MVmKab9eUxCLY43hD6PmqQMEK2hURtYhmEabTgZIzv01my3CWYmn77uysiWasIy5BtGYfiwWCiTUkcxpSSroHKfizjIV51fQHmeNwQRXegYm4bcXwq2zgewHZyqKsUNhiIjn8O4iVAU9GTHOtOIduB13bUAWfphGJdPKs4JF3Dbd46RTzbBKgg8y5LD0I5ISv72POQJ6Xn3we74Eh2pQygLIYvFa1kjn0uEhfN2SMcNYMI16NdVIeIypi8ALMzYAO7X46NV8amOI4yDJwBnS";
v.MarkManageId = AddFrameworkUser();
context.Set<WTM_VISIT_PLAN>().Add(v);
context.SaveChanges();
}
var rv = _controller.Get(v.ID.ToString());
Assert.IsNotNull(rv);
}
[TestMethod]
public void BatchDeleteTest()
{
WTM_VISIT_PLAN v1 = new WTM_VISIT_PLAN();
WTM_VISIT_PLAN v2 = new WTM_VISIT_PLAN();
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
{
v1.CustomId = AddWTM_CUSTOM();
v1.AreaId = AddWTM_AREA();
v1.VisitObjectId = AddWTM_CUSTOM_PERSON();
v1.VisitStartTime = DateTime.Parse("2024-06-15 16:22:47");
v1.VisitEndTime = DateTime.Parse("2024-06-20 16:22:47");
v1.VisitTarget = "V27KaBibnaAucD8MVmKab9eUxCLY43hD6PmqQMEK2hURtYhmEabTgZIzv01my3CWYmn77uysiWasIy5BtGYfiwWCiTUkcxpSSroHKfizjIV51fQHmeNwQRXegYm4bcXwq2zgewHZyqKsUNhiIjn8O4iVAU9GTHOtOIduB13bUAWfphGJdPKs4JF3Dbd46RTzbBKgg8y5LD0I5ISv72POQJ6Xn3we74Eh2pQygLIYvFa1kjn0uEhfN2SMcNYMI16NdVIeIypi8ALMzYAO7X46NV8amOI4yDJwBnS";
v1.MarkManageId = AddFrameworkUser();
v2.CustomId = v1.CustomId;
v2.AreaId = v1.AreaId;
v2.VisitObjectId = v1.VisitObjectId;
v2.VisitStartTime = DateTime.Parse("2024-06-25 16:22:47");
v2.VisitEndTime = DateTime.Parse("2023-05-03 16:22:47");
v2.VisitTarget = "y4seHcv9Oosdo8sFXq3VIc5ws9xasiyEnTYX0eVp9j9dA26srT31Xb3tj52aNfjWe6fJpA5TXko1kc3gme7Slc3T4w9x3QGnvBAo4YsdHE7poCs4SllFe1hoQnpnQzNEIyvchmJHJhDMV1pTvh9L83ugxXXzLxELkNZw7oFDOWOisFv8i9p3nPfi6EPbJTztjFS3wmtbzbyPwOr5q49PcNF4h5hwdmKNg3gBgyUGNgRwDxPbSvMdiHspS4YRDxKiWgfB93ctvTJwGeKvU3wfI0qYYAHhMADxSjdou4IIcp6dgg91Q6EcKrlcs9Oi6LIY2IviP5r0X4fi1nDbS1kBI5AMAqEvqGlsqtG042QGfSBZhISIyrAkRCSCwmHFQeSyVILqnKyhp";
v2.MarkManageId = v1.MarkManageId;
context.Set<WTM_VISIT_PLAN>().Add(v1);
context.Set<WTM_VISIT_PLAN>().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<WTM_VISIT_PLAN>().Find(v1.ID);
var data2 = context.Set<WTM_VISIT_PLAN>().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 = "bfMGraiFFs9QbqtNXotwVhByoxyiw";
v.AreaName = "KTUlSCWfyGfx7cqwVEkADnXhFfBMEBYrzBrbVB1J";
context.Set<WTM_AREA>().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 = "3nTEQ1RrjRHazqOYkTbrDDKpqL4RD4u";
v.CustomShortName = "HjEEf5tVLCFdzyM6Ukx";
v.ParentUnit = "3";
v.AreaId = AddWTM_AREA();
context.Set<WTM_CUSTOM>().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 = "S";
v.PersonPhone = "DRI1bBNvT973KpL";
v.PersonPost = "ybFeuUGouKbD";
context.Set<WTM_CUSTOM_PERSON>().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 = "zdTpW6cTt";
v.GroupName = "YRgC2";
v.GroupRemark = "ilMg5Gciyj";
v.Manager = "i7hv";
context.Set<FrameworkGroup>().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 = "O";
v.FileExt = "T9B";
v.Path = "4C";
v.Length = 80;
v.UploadTime = DateTime.Parse("2024-08-22 16:22:47");
v.SaveMode = "UD";
v.ExtraInfo = "N9wS3N9qbxWkgFi";
v.HandlerInfo = "Haeb9Nglwa";
context.Set<FileAttachment>().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.Female;
v.CellPhone = "Yt";
v.GroupId = AddFrameworkGroup();
v.ITCode = "n2hzhFKwDxBe8sGXo";
v.Password = "hkfgR3zCQnEW003UZMeK";
v.Name = "GxnDydZb6zXEokiQIVqL";
v.IsValid = false;
v.PhotoId = AddFileAttachment();
context.Set<FrameworkUser>().Add(v);
context.SaveChanges();
}
catch{}
}
return v.ID;
}
}
}