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 cy_scdz.Controllers;
|
using cy_scdz.ViewModel.dictionary.DictionaryVMs;
|
using cy_scdz.Model.Set;
|
using cy_scdz.DataAccess;
|
|
|
namespace cy_scdz.Test
|
{
|
[TestClass]
|
public class DictionaryControllerTest
|
{
|
private SetingController _controller;
|
private string _seed;
|
|
public DictionaryControllerTest()
|
{
|
_seed = Guid.NewGuid().ToString();
|
_controller = MockController.CreateController<SetingController>(new DataContext(_seed, DBTypeEnum.Memory), "user");
|
}
|
|
[TestMethod]
|
public void SearchTest()
|
{
|
PartialViewResult rv = (PartialViewResult)_controller.Index();
|
Assert.IsInstanceOfType(rv.Model, typeof(IBasePagedListVM<TopBasePoco, BaseSearcher>));
|
string rv2 = _controller.Search((rv.Model as DictionaryListVM).Searcher);
|
Assert.IsTrue(rv2.Contains("\"Code\":200"));
|
}
|
|
[TestMethod]
|
public void CreateTest()
|
{
|
PartialViewResult rv = (PartialViewResult)_controller.Create();
|
Assert.IsInstanceOfType(rv.Model, typeof(DictionaryVM));
|
|
DictionaryVM vm = rv.Model as DictionaryVM;
|
Dictionary v = new Dictionary();
|
|
v.Name = "b";
|
v.Key = "xMrl9";
|
v.Value = "EywYKwZjnxDmyQVwVYph9bYpAudrE9fseXiODivU84zBNHxqZv7ztyImrm4bTwJHFxtTfnJfwnwkWtP9LQeWCjwoO0sKPFEz3KD5Ni6QzJViWgOZjbDtvCCAOM3Md";
|
v.IsEn = true;
|
v.ParentId = AddDictionary();
|
vm.Entity = v;
|
_controller.Create(vm);
|
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
{
|
var data = context.Set<Dictionary>().Find(v.ID);
|
|
Assert.AreEqual(data.Name, "b");
|
Assert.AreEqual(data.Key, "xMrl9");
|
Assert.AreEqual(data.Value, "EywYKwZjnxDmyQVwVYph9bYpAudrE9fseXiODivU84zBNHxqZv7ztyImrm4bTwJHFxtTfnJfwnwkWtP9LQeWCjwoO0sKPFEz3KD5Ni6QzJViWgOZjbDtvCCAOM3Md");
|
Assert.AreEqual(data.IsEn, true);
|
}
|
|
}
|
|
[TestMethod]
|
public void EditTest()
|
{
|
Dictionary v = new Dictionary();
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
{
|
|
v.Name = "b";
|
v.Key = "xMrl9";
|
v.Value = "EywYKwZjnxDmyQVwVYph9bYpAudrE9fseXiODivU84zBNHxqZv7ztyImrm4bTwJHFxtTfnJfwnwkWtP9LQeWCjwoO0sKPFEz3KD5Ni6QzJViWgOZjbDtvCCAOM3Md";
|
v.IsEn = true;
|
v.ParentId = AddDictionary();
|
context.Set<Dictionary>().Add(v);
|
context.SaveChanges();
|
}
|
|
PartialViewResult rv = (PartialViewResult)_controller.Edit(v.ID.ToString());
|
Assert.IsInstanceOfType(rv.Model, typeof(DictionaryVM));
|
|
DictionaryVM vm = rv.Model as DictionaryVM;
|
vm.Wtm.DC = new DataContext(_seed, DBTypeEnum.Memory);
|
v = new Dictionary();
|
v.ID = vm.Entity.ID;
|
|
v.Name = "QsFRU0Hrpj0paqSATzzz7bBy7XUEiXX3n2ochswiODO";
|
v.Key = "xpZrS27u53";
|
v.Value = "guWhKhfl1PVouMDiYmcgkvledon5IsxDS1OmRCXsI7DN5NMIKex21a9FdhlIzkPnMebXpH5Lvb2kOk0ADso6eGecpBYjRnFQcZopebKAQp1q7XghV67Mbqe7Uy";
|
v.IsEn = false;
|
vm.Entity = v;
|
vm.FC = new Dictionary<string, object>();
|
|
vm.FC.Add("Entity.Name", "");
|
vm.FC.Add("Entity.Key", "");
|
vm.FC.Add("Entity.Value", "");
|
vm.FC.Add("Entity.IsEn", "");
|
vm.FC.Add("Entity.ParentId", "");
|
_controller.Edit(vm);
|
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
{
|
var data = context.Set<Dictionary>().Find(v.ID);
|
|
Assert.AreEqual(data.Name, "QsFRU0Hrpj0paqSATzzz7bBy7XUEiXX3n2ochswiODO");
|
Assert.AreEqual(data.Key, "xpZrS27u53");
|
Assert.AreEqual(data.Value, "guWhKhfl1PVouMDiYmcgkvledon5IsxDS1OmRCXsI7DN5NMIKex21a9FdhlIzkPnMebXpH5Lvb2kOk0ADso6eGecpBYjRnFQcZopebKAQp1q7XghV67Mbqe7Uy");
|
Assert.AreEqual(data.IsEn, false);
|
}
|
|
}
|
|
|
[TestMethod]
|
public void DeleteTest()
|
{
|
Dictionary v = new Dictionary();
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
{
|
|
v.Name = "b";
|
v.Key = "xMrl9";
|
v.Value = "EywYKwZjnxDmyQVwVYph9bYpAudrE9fseXiODivU84zBNHxqZv7ztyImrm4bTwJHFxtTfnJfwnwkWtP9LQeWCjwoO0sKPFEz3KD5Ni6QzJViWgOZjbDtvCCAOM3Md";
|
v.IsEn = true;
|
v.ParentId = AddDictionary();
|
context.Set<Dictionary>().Add(v);
|
context.SaveChanges();
|
}
|
|
PartialViewResult rv = (PartialViewResult)_controller.Delete(v.ID.ToString());
|
Assert.IsInstanceOfType(rv.Model, typeof(DictionaryVM));
|
|
DictionaryVM vm = rv.Model as DictionaryVM;
|
v = new Dictionary();
|
v.ID = vm.Entity.ID;
|
vm.Entity = v;
|
_controller.Delete(v.ID.ToString(),null);
|
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
{
|
var data = context.Set<Dictionary>().Find(v.ID);
|
Assert.AreEqual(data, null);
|
}
|
|
}
|
|
|
[TestMethod]
|
public void DetailsTest()
|
{
|
Dictionary v = new Dictionary();
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
{
|
|
v.Name = "b";
|
v.Key = "xMrl9";
|
v.Value = "EywYKwZjnxDmyQVwVYph9bYpAudrE9fseXiODivU84zBNHxqZv7ztyImrm4bTwJHFxtTfnJfwnwkWtP9LQeWCjwoO0sKPFEz3KD5Ni6QzJViWgOZjbDtvCCAOM3Md";
|
v.IsEn = true;
|
v.ParentId = AddDictionary();
|
context.Set<Dictionary>().Add(v);
|
context.SaveChanges();
|
}
|
PartialViewResult rv = (PartialViewResult)_controller.Details(v.ID.ToString());
|
Assert.IsInstanceOfType(rv.Model, typeof(IBaseCRUDVM<TopBasePoco>));
|
Assert.AreEqual(v.ID, (rv.Model as IBaseCRUDVM<TopBasePoco>).Entity.GetID());
|
}
|
|
[TestMethod]
|
public void BatchEditTest()
|
{
|
Dictionary v1 = new Dictionary();
|
Dictionary v2 = new Dictionary();
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
{
|
|
v1.Name = "b";
|
v1.Key = "xMrl9";
|
v1.Value = "EywYKwZjnxDmyQVwVYph9bYpAudrE9fseXiODivU84zBNHxqZv7ztyImrm4bTwJHFxtTfnJfwnwkWtP9LQeWCjwoO0sKPFEz3KD5Ni6QzJViWgOZjbDtvCCAOM3Md";
|
v1.IsEn = true;
|
v1.ParentId = AddDictionary();
|
v2.Name = "QsFRU0Hrpj0paqSATzzz7bBy7XUEiXX3n2ochswiODO";
|
v2.Key = "xpZrS27u53";
|
v2.Value = "guWhKhfl1PVouMDiYmcgkvledon5IsxDS1OmRCXsI7DN5NMIKex21a9FdhlIzkPnMebXpH5Lvb2kOk0ADso6eGecpBYjRnFQcZopebKAQp1q7XghV67Mbqe7Uy";
|
v2.IsEn = false;
|
v2.ParentId = v1.ParentId;
|
context.Set<Dictionary>().Add(v1);
|
context.Set<Dictionary>().Add(v2);
|
context.SaveChanges();
|
}
|
|
PartialViewResult rv = (PartialViewResult)_controller.BatchDelete(new string[] { v1.ID.ToString(), v2.ID.ToString() });
|
Assert.IsInstanceOfType(rv.Model, typeof(DictionaryBatchVM));
|
|
DictionaryBatchVM vm = rv.Model as DictionaryBatchVM;
|
vm.Ids = new string[] { v1.ID.ToString(), v2.ID.ToString() };
|
|
vm.FC = new Dictionary<string, object>();
|
|
_controller.DoBatchEdit(vm, null);
|
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
{
|
var data1 = context.Set<Dictionary>().Find(v1.ID);
|
var data2 = context.Set<Dictionary>().Find(v2.ID);
|
|
}
|
}
|
|
|
[TestMethod]
|
public void BatchDeleteTest()
|
{
|
Dictionary v1 = new Dictionary();
|
Dictionary v2 = new Dictionary();
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
{
|
|
v1.Name = "b";
|
v1.Key = "xMrl9";
|
v1.Value = "EywYKwZjnxDmyQVwVYph9bYpAudrE9fseXiODivU84zBNHxqZv7ztyImrm4bTwJHFxtTfnJfwnwkWtP9LQeWCjwoO0sKPFEz3KD5Ni6QzJViWgOZjbDtvCCAOM3Md";
|
v1.IsEn = true;
|
v1.ParentId = AddDictionary();
|
v2.Name = "QsFRU0Hrpj0paqSATzzz7bBy7XUEiXX3n2ochswiODO";
|
v2.Key = "xpZrS27u53";
|
v2.Value = "guWhKhfl1PVouMDiYmcgkvledon5IsxDS1OmRCXsI7DN5NMIKex21a9FdhlIzkPnMebXpH5Lvb2kOk0ADso6eGecpBYjRnFQcZopebKAQp1q7XghV67Mbqe7Uy";
|
v2.IsEn = false;
|
v2.ParentId = v1.ParentId;
|
context.Set<Dictionary>().Add(v1);
|
context.Set<Dictionary>().Add(v2);
|
context.SaveChanges();
|
}
|
|
PartialViewResult rv = (PartialViewResult)_controller.BatchDelete(new string[] { v1.ID.ToString(), v2.ID.ToString() });
|
Assert.IsInstanceOfType(rv.Model, typeof(DictionaryBatchVM));
|
|
DictionaryBatchVM vm = rv.Model as DictionaryBatchVM;
|
vm.Ids = new string[] { v1.ID.ToString(), v2.ID.ToString() };
|
_controller.DoBatchDelete(vm, null);
|
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
{
|
var data1 = context.Set<Dictionary>().Find(v1.ID);
|
var data2 = context.Set<Dictionary>().Find(v2.ID);
|
Assert.AreEqual(data1, null);
|
Assert.AreEqual(data2, null);
|
}
|
}
|
|
private Guid AddDictionary()
|
{
|
Dictionary v = new Dictionary();
|
using (var context = new DataContext(_seed, DBTypeEnum.Memory))
|
{
|
try{
|
|
v.Name = "SP8IclP";
|
v.Key = "dpuu";
|
v.Value = "umUUGsNG3WGFIQnAVwzjcLncu32tsbKnwmsdNxeZP20qaqTdQ2Soi1J2k5Y2x68gHiUOv";
|
v.IsEn = false;
|
context.Set<Dictionary>().Add(v);
|
context.SaveChanges();
|
}
|
catch{}
|
}
|
return v.ID;
|
}
|
|
|
}
|
}
|