mh_custom/wtmProject.Test/WTM_CUSTOMApiTest.cs

182 lines
6.7 KiB
C#
Raw Permalink Normal View History

2024-05-16 17:30:33 +08:00
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_CUSTOMVMs;
using wtmProject.Model;
using wtmProject.DataAccess;
namespace wtmProject.Test
{
[TestClass]
public class WTM_CUSTOMApiTest
{
private WTM_CUSTOMController _controller;
private string _seed;
public WTM_CUSTOMApiTest()
{
_seed = Guid.NewGuid().ToString();
_controller = MockController.CreateApi<WTM_CUSTOMController>(new DataContext(_seed, DBTypeEnum.Memory), "user");
}
[TestMethod]
public void SearchTest()
{
ContentResult rv = _controller.Search(new WTM_CUSTOMSearcher()) as ContentResult;
Assert.IsTrue(string.IsNullOrEmpty(rv.Content)==false);
}
[TestMethod]
public void CreateTest()
{
WTM_CUSTOMVM vm = _controller.Wtm.CreateVM<WTM_CUSTOMVM>();
WTM_CUSTOM v = new WTM_CUSTOM();
v.CustomAllName = "zwaxYvxiAcnn5JgZUuFRpEwvmmPZFgV";
v.CustomShortName = "SJUmMD1rRrVAbydOHIKBJ3Y";
v.ParentUnit = "RZcrok7cVP4GroRg9bCbgdFDD8B7FKUwPlVI3otJHb4SYcDbS";
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<WTM_CUSTOM>().Find(v.ID);
Assert.AreEqual(data.CustomAllName, "zwaxYvxiAcnn5JgZUuFRpEwvmmPZFgV");
Assert.AreEqual(data.CustomShortName, "SJUmMD1rRrVAbydOHIKBJ3Y");
Assert.AreEqual(data.ParentUnit, "RZcrok7cVP4GroRg9bCbgdFDD8B7FKUwPlVI3otJHb4SYcDbS");
Assert.AreEqual(data.CreateBy, "user");
Assert.IsTrue(DateTime.Now.Subtract(data.CreateTime.Value).Seconds < 10);
}
}
[TestMethod]
public void EditTest()
{
WTM_CUSTOM v = new WTM_CUSTOM();
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
{
v.CustomAllName = "zwaxYvxiAcnn5JgZUuFRpEwvmmPZFgV";
v.CustomShortName = "SJUmMD1rRrVAbydOHIKBJ3Y";
v.ParentUnit = "RZcrok7cVP4GroRg9bCbgdFDD8B7FKUwPlVI3otJHb4SYcDbS";
v.AreaId = AddWTM_AREA();
context.Set<WTM_CUSTOM>().Add(v);
context.SaveChanges();
}
WTM_CUSTOMVM vm = _controller.Wtm.CreateVM<WTM_CUSTOMVM>();
var oldID = v.ID;
v = new WTM_CUSTOM();
v.ID = oldID;
v.CustomAllName = "eMGP3wGKevvK37IbItxcNNEk7mmAajZsaLaVCPwBCf11uOO";
v.CustomShortName = "pFCIV5BAD1aZedw8CmAInjExfHGNoNwtkZ6FWMERLfPeK";
v.ParentUnit = "4M5EJ0kU1DiwlE";
vm.Entity = v;
vm.FC = new Dictionary<string, object>();
vm.FC.Add("Entity.CustomAllName", "");
vm.FC.Add("Entity.CustomShortName", "");
vm.FC.Add("Entity.ParentUnit", "");
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<WTM_CUSTOM>().Find(v.ID);
Assert.AreEqual(data.CustomAllName, "eMGP3wGKevvK37IbItxcNNEk7mmAajZsaLaVCPwBCf11uOO");
Assert.AreEqual(data.CustomShortName, "pFCIV5BAD1aZedw8CmAInjExfHGNoNwtkZ6FWMERLfPeK");
Assert.AreEqual(data.ParentUnit, "4M5EJ0kU1DiwlE");
Assert.AreEqual(data.UpdateBy, "user");
Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10);
}
}
[TestMethod]
public void GetTest()
{
WTM_CUSTOM v = new WTM_CUSTOM();
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
{
v.CustomAllName = "zwaxYvxiAcnn5JgZUuFRpEwvmmPZFgV";
v.CustomShortName = "SJUmMD1rRrVAbydOHIKBJ3Y";
v.ParentUnit = "RZcrok7cVP4GroRg9bCbgdFDD8B7FKUwPlVI3otJHb4SYcDbS";
v.AreaId = AddWTM_AREA();
context.Set<WTM_CUSTOM>().Add(v);
context.SaveChanges();
}
var rv = _controller.Get(v.ID.ToString());
Assert.IsNotNull(rv);
}
[TestMethod]
public void BatchDeleteTest()
{
WTM_CUSTOM v1 = new WTM_CUSTOM();
WTM_CUSTOM v2 = new WTM_CUSTOM();
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
{
v1.CustomAllName = "zwaxYvxiAcnn5JgZUuFRpEwvmmPZFgV";
v1.CustomShortName = "SJUmMD1rRrVAbydOHIKBJ3Y";
v1.ParentUnit = "RZcrok7cVP4GroRg9bCbgdFDD8B7FKUwPlVI3otJHb4SYcDbS";
v1.AreaId = AddWTM_AREA();
v2.CustomAllName = "eMGP3wGKevvK37IbItxcNNEk7mmAajZsaLaVCPwBCf11uOO";
v2.CustomShortName = "pFCIV5BAD1aZedw8CmAInjExfHGNoNwtkZ6FWMERLfPeK";
v2.ParentUnit = "4M5EJ0kU1DiwlE";
v2.AreaId = v1.AreaId;
context.Set<WTM_CUSTOM>().Add(v1);
context.Set<WTM_CUSTOM>().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_CUSTOM>().Find(v1.ID);
var data2 = context.Set<WTM_CUSTOM>().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 = "Une6TPlvPJKX9eEbf9JUiRgHejq69IIWGHJe4c2DlYCPpt";
v.AreaName = "vFe6nPyxFu1mU3hc54nElQXt45wyNLPZ";
context.Set<WTM_AREA>().Add(v);
context.SaveChanges();
}
catch{}
}
return v.ID;
}
}
}