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(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_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().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().Add(v); context.SaveChanges(); } WTM_CUSTOMVM vm = _controller.Wtm.CreateVM(); 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(); 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().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().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().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 = "Une6TPlvPJKX9eEbf9JUiRgHejq69IIWGHJe4c2DlYCPpt"; v.AreaName = "vFe6nPyxFu1mU3hc54nElQXt45wyNLPZ"; context.Set().Add(v); context.SaveChanges(); } catch{} } return v.ID; } } }