150 lines
5.2 KiB
C#
150 lines
5.2 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_PROJECTVMs;
|
|||
|
|
using wtmProject.Model;
|
|||
|
|
using wtmProject.DataAccess;
|
|||
|
|
|
|||
|
|
|
|||
|
|
namespace wtmProject.Test
|
|||
|
|
{
|
|||
|
|
[TestClass]
|
|||
|
|
public class WTM_PROJECTApiTest
|
|||
|
|
{
|
|||
|
|
private WTM_PROJECTController _controller;
|
|||
|
|
private string _seed;
|
|||
|
|
|
|||
|
|
public WTM_PROJECTApiTest()
|
|||
|
|
{
|
|||
|
|
_seed = Guid.NewGuid().ToString();
|
|||
|
|
_controller = MockController.CreateApi<WTM_PROJECTController>(new DataContext(_seed, DBTypeEnum.Memory), "user");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[TestMethod]
|
|||
|
|
public void SearchTest()
|
|||
|
|
{
|
|||
|
|
ContentResult rv = _controller.Search(new WTM_PROJECTSearcher()) as ContentResult;
|
|||
|
|
Assert.IsTrue(string.IsNullOrEmpty(rv.Content)==false);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[TestMethod]
|
|||
|
|
public void CreateTest()
|
|||
|
|
{
|
|||
|
|
WTM_PROJECTVM vm = _controller.Wtm.CreateVM<WTM_PROJECTVM>();
|
|||
|
|
WTM_PROJECT v = new WTM_PROJECT();
|
|||
|
|
|
|||
|
|
v.ProjectCode = "PB4eqglE3eNsxaAe";
|
|||
|
|
v.ProjectName = "xeYQe05P0UlB3mV95jtyBtKkS3omUYJoP4zwz47r";
|
|||
|
|
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_PROJECT>().Find(v.ID);
|
|||
|
|
|
|||
|
|
Assert.AreEqual(data.ProjectCode, "PB4eqglE3eNsxaAe");
|
|||
|
|
Assert.AreEqual(data.ProjectName, "xeYQe05P0UlB3mV95jtyBtKkS3omUYJoP4zwz47r");
|
|||
|
|
Assert.AreEqual(data.CreateBy, "user");
|
|||
|
|
Assert.IsTrue(DateTime.Now.Subtract(data.CreateTime.Value).Seconds < 10);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[TestMethod]
|
|||
|
|
public void EditTest()
|
|||
|
|
{
|
|||
|
|
WTM_PROJECT v = new WTM_PROJECT();
|
|||
|
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
v.ProjectCode = "PB4eqglE3eNsxaAe";
|
|||
|
|
v.ProjectName = "xeYQe05P0UlB3mV95jtyBtKkS3omUYJoP4zwz47r";
|
|||
|
|
context.Set<WTM_PROJECT>().Add(v);
|
|||
|
|
context.SaveChanges();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
WTM_PROJECTVM vm = _controller.Wtm.CreateVM<WTM_PROJECTVM>();
|
|||
|
|
var oldID = v.ID;
|
|||
|
|
v = new WTM_PROJECT();
|
|||
|
|
v.ID = oldID;
|
|||
|
|
|
|||
|
|
v.ProjectCode = "dcJH6qO";
|
|||
|
|
v.ProjectName = "kYbg5wKpxokTvsW4i4QE78uZ38DijcLlHdZNNFBwKzz";
|
|||
|
|
vm.Entity = v;
|
|||
|
|
vm.FC = new Dictionary<string, object>();
|
|||
|
|
|
|||
|
|
vm.FC.Add("Entity.ProjectCode", "");
|
|||
|
|
vm.FC.Add("Entity.ProjectName", "");
|
|||
|
|
var rv = _controller.Edit(vm);
|
|||
|
|
Assert.IsInstanceOfType(rv, typeof(OkObjectResult));
|
|||
|
|
|
|||
|
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
|||
|
|
{
|
|||
|
|
var data = context.Set<WTM_PROJECT>().Find(v.ID);
|
|||
|
|
|
|||
|
|
Assert.AreEqual(data.ProjectCode, "dcJH6qO");
|
|||
|
|
Assert.AreEqual(data.ProjectName, "kYbg5wKpxokTvsW4i4QE78uZ38DijcLlHdZNNFBwKzz");
|
|||
|
|
Assert.AreEqual(data.UpdateBy, "user");
|
|||
|
|
Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[TestMethod]
|
|||
|
|
public void GetTest()
|
|||
|
|
{
|
|||
|
|
WTM_PROJECT v = new WTM_PROJECT();
|
|||
|
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
v.ProjectCode = "PB4eqglE3eNsxaAe";
|
|||
|
|
v.ProjectName = "xeYQe05P0UlB3mV95jtyBtKkS3omUYJoP4zwz47r";
|
|||
|
|
context.Set<WTM_PROJECT>().Add(v);
|
|||
|
|
context.SaveChanges();
|
|||
|
|
}
|
|||
|
|
var rv = _controller.Get(v.ID.ToString());
|
|||
|
|
Assert.IsNotNull(rv);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[TestMethod]
|
|||
|
|
public void BatchDeleteTest()
|
|||
|
|
{
|
|||
|
|
WTM_PROJECT v1 = new WTM_PROJECT();
|
|||
|
|
WTM_PROJECT v2 = new WTM_PROJECT();
|
|||
|
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
v1.ProjectCode = "PB4eqglE3eNsxaAe";
|
|||
|
|
v1.ProjectName = "xeYQe05P0UlB3mV95jtyBtKkS3omUYJoP4zwz47r";
|
|||
|
|
v2.ProjectCode = "dcJH6qO";
|
|||
|
|
v2.ProjectName = "kYbg5wKpxokTvsW4i4QE78uZ38DijcLlHdZNNFBwKzz";
|
|||
|
|
context.Set<WTM_PROJECT>().Add(v1);
|
|||
|
|
context.Set<WTM_PROJECT>().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_PROJECT>().Find(v1.ID);
|
|||
|
|
var data2 = context.Set<WTM_PROJECT>().Find(v2.ID);
|
|||
|
|
Assert.AreEqual(data1, null);
|
|||
|
|
Assert.AreEqual(data2, null);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
rv = _controller.BatchDelete(new string[] {});
|
|||
|
|
Assert.IsInstanceOfType(rv, typeof(OkResult));
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|