150 lines
5.1 KiB
C#
150 lines
5.1 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.FrameworkPostVMs;
|
|
using wtmProject.Model;
|
|
using wtmProject.DataAccess;
|
|
|
|
|
|
namespace wtmProject.Test
|
|
{
|
|
[TestClass]
|
|
public class FrameworkPostApiTest
|
|
{
|
|
private FrameworkPostController _controller;
|
|
private string _seed;
|
|
|
|
public FrameworkPostApiTest()
|
|
{
|
|
_seed = Guid.NewGuid().ToString();
|
|
_controller = MockController.CreateApi<FrameworkPostController>(new DataContext(_seed, DBTypeEnum.Memory), "user");
|
|
}
|
|
|
|
[TestMethod]
|
|
public void SearchTest()
|
|
{
|
|
ContentResult rv = _controller.Search(new FrameworkPostSearcher()) as ContentResult;
|
|
Assert.IsTrue(string.IsNullOrEmpty(rv.Content)==false);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void CreateTest()
|
|
{
|
|
FrameworkPostVM vm = _controller.Wtm.CreateVM<FrameworkPostVM>();
|
|
FrameworkPost v = new FrameworkPost();
|
|
|
|
v.PostCode = "NhSbzZa6lwMFUbmgW";
|
|
v.PostName = "vHXjm9qTWg5VE";
|
|
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<FrameworkPost>().Find(v.ID);
|
|
|
|
Assert.AreEqual(data.PostCode, "NhSbzZa6lwMFUbmgW");
|
|
Assert.AreEqual(data.PostName, "vHXjm9qTWg5VE");
|
|
Assert.AreEqual(data.CreateBy, "user");
|
|
Assert.IsTrue(DateTime.Now.Subtract(data.CreateTime.Value).Seconds < 10);
|
|
}
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EditTest()
|
|
{
|
|
FrameworkPost v = new FrameworkPost();
|
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
|
{
|
|
|
|
v.PostCode = "NhSbzZa6lwMFUbmgW";
|
|
v.PostName = "vHXjm9qTWg5VE";
|
|
context.Set<FrameworkPost>().Add(v);
|
|
context.SaveChanges();
|
|
}
|
|
|
|
FrameworkPostVM vm = _controller.Wtm.CreateVM<FrameworkPostVM>();
|
|
var oldID = v.ID;
|
|
v = new FrameworkPost();
|
|
v.ID = oldID;
|
|
|
|
v.PostCode = "vyrlDpRBb9a7TQhrnJBR6sQNZLar7XwdWHtjY";
|
|
v.PostName = "tRSWYEPFTSJHg8cP6qsEUciHu2VGd20IrR0TVq4";
|
|
vm.Entity = v;
|
|
vm.FC = new Dictionary<string, object>();
|
|
|
|
vm.FC.Add("Entity.PostCode", "");
|
|
vm.FC.Add("Entity.PostName", "");
|
|
var rv = _controller.Edit(vm);
|
|
Assert.IsInstanceOfType(rv, typeof(OkObjectResult));
|
|
|
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
|
{
|
|
var data = context.Set<FrameworkPost>().Find(v.ID);
|
|
|
|
Assert.AreEqual(data.PostCode, "vyrlDpRBb9a7TQhrnJBR6sQNZLar7XwdWHtjY");
|
|
Assert.AreEqual(data.PostName, "tRSWYEPFTSJHg8cP6qsEUciHu2VGd20IrR0TVq4");
|
|
Assert.AreEqual(data.UpdateBy, "user");
|
|
Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10);
|
|
}
|
|
|
|
}
|
|
|
|
[TestMethod]
|
|
public void GetTest()
|
|
{
|
|
FrameworkPost v = new FrameworkPost();
|
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
|
{
|
|
|
|
v.PostCode = "NhSbzZa6lwMFUbmgW";
|
|
v.PostName = "vHXjm9qTWg5VE";
|
|
context.Set<FrameworkPost>().Add(v);
|
|
context.SaveChanges();
|
|
}
|
|
var rv = _controller.Get(v.ID.ToString());
|
|
Assert.IsNotNull(rv);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void BatchDeleteTest()
|
|
{
|
|
FrameworkPost v1 = new FrameworkPost();
|
|
FrameworkPost v2 = new FrameworkPost();
|
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
|
{
|
|
|
|
v1.PostCode = "NhSbzZa6lwMFUbmgW";
|
|
v1.PostName = "vHXjm9qTWg5VE";
|
|
v2.PostCode = "vyrlDpRBb9a7TQhrnJBR6sQNZLar7XwdWHtjY";
|
|
v2.PostName = "tRSWYEPFTSJHg8cP6qsEUciHu2VGd20IrR0TVq4";
|
|
context.Set<FrameworkPost>().Add(v1);
|
|
context.Set<FrameworkPost>().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<FrameworkPost>().Find(v1.ID);
|
|
var data2 = context.Set<FrameworkPost>().Find(v2.ID);
|
|
Assert.AreEqual(data1, null);
|
|
Assert.AreEqual(data2, null);
|
|
}
|
|
|
|
rv = _controller.BatchDelete(new string[] {});
|
|
Assert.IsInstanceOfType(rv, typeof(OkResult));
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|