public void FindAuthorizedProjectsByUserTest() { //创建一个originalmanager AppUser originalmanager = CreateUser(); AppUser actualmanager = database.Users.SingleOrDefault(b => b.StudentNum == originalmanager.StudentNum); if (actualmanager != null) { database.Users.Remove(actualmanager); Save(); } identityhelper.CreateUser(originalmanager, "zxcvbnm,./", Interface.AppRoleEnum.OrgnizationMember, OrganizationEnum.TestOnly); originalmanager = database.Users.Single(b => b.AccountName == originalmanager.AccountName); //创建org Organization org = identityhelper.CreateOrFindOrganization(Entity.OrganizationEnum.TestOnly); //创建两个项目 Guid uid1 = Guid.NewGuid(); Guid uid2 = Guid.NewGuid(); string name1 = "pro" + uid1.ToString(); string name2 = "pro" + uid2.ToString(); projectmanagehelper.CreatNewProject(org, DateTime.Now, name1, "uibe", "FindAuthorizedProjectsByUser1", 20); projectmanagehelper.CreatNewProject(org, DateTime.Now, name2, "uibe", "FindAuthorizedProjectsByUser2", 20); var addresult1 = database.Projects.SingleOrDefault(b => b.Name == name1); var addresult2 = database.Projects.SingleOrDefault(b => b.Name == name2); if (addresult1 == null && addresult2 == null) { Assert.Fail("添加记录失败!"); } var manager = database.Users.Single(m => m.AccountName == originalmanager.AccountName); var managerlist = projectmanagehelper.FindManagerListByStudentNum(originalmanager.StudentNum); projectmanagehelper.ProjectMessageInput(name1, "FindAuthorizedProjectsByUser1", "uibe", 10, DateTime.Now, managerlist, addresult1); projectmanagehelper.ProjectMessageInput(name2, "FindAuthorizedProjectsByUser1", "uibe", 10, DateTime.Now, managerlist, addresult2); // 测试FindAuthorizedProjByUser AppUser findmanager = database.Users.Single(b => b.StudentNum == originalmanager.StudentNum); var result = helper.FindAuthorizedProjectsByUser(findmanager);//59行!!想办法找到contain方法的替代 if (result == null || result.Count() != 2) { Assert.Fail("通过user查询项目失败!"); } // 删除数据库的有关数据[org pro manager] DeleteOrgnization(org); } //Helper 45行
public void ProjectMessageInputTest() { // 创建一个manager Guid tempuser = Guid.NewGuid(); string username = tempuser.ToString(); Random tempusernum = new Random(); int userstudentnum = tempusernum.Next(000, 999); AppUser manager = new AppUser() { AccountName = username, StudentNum = userstudentnum, Mobile = "1234567890", Email = "*****@*****.**" }; identityhelper.CreateUser(manager, "zxcvbnm,./", Interface.AppRoleEnum.OrgnizationMember, OrganizationEnum.TestOnly); var addmanager = database.Users.Where(u => u.AccountName == manager.AccountName).ToList(); if (addmanager == null) { Assert.Fail("添加manager失败!"); } // 创建org Organization org = identityhelper.CreateOrFindOrganization(Entity.OrganizationEnum.TestOnly); // 创建一个project Guid uid = Guid.NewGuid(); string uiniqueName = "pro" + uid.ToString(); Project pro = new Project { Name = uiniqueName, Place = "pro", Maximum = 20, Details = "nothing", Time = DateTime.Now, Condition = Interface.ProjectCondition.Ongoing, Organization = org }; helper.CreatNewProject(org, DateTime.Now, uiniqueName, "uibe", "nothing", 20); var addresult = database.Projects.Where(b => b.Name.ToString() == uiniqueName); if (addresult == null) { Assert.Fail("添加记录失败!"); } string name = "projectmassageinput"; string detail = "jest a test"; string place = "testplace"; var promanager = database.Users.Where(m => m.StudentNum == manager.StudentNum).ToList(); ProgressResult result = helper.ProjectMessageInput(name, detail, place, 20, DateTime.Now, promanager, pro); // 测试 ProgressResult.Error信息不完整 --因无法传入空参数,因此无法进行此处测试 //result = helper.ProjectMessageInput(name, "", place, 0, null, promanager, pro); //if (result.Succeeded) //{ // Assert.Fail("无法判断空字段异常"); //} // 测试ProjectMessageInput if (!result.Succeeded) { Assert.Fail("ProjectMessageInput结果返回失败!"); } var actualresult = database.Projects.Where(p => p.Name == name).ToList(); if (actualresult == null) { Assert.Fail("数据库中无法查找到相关数据,projectmessage添加失败!"); } else { foreach (var item in actualresult) { if (item.Name == pro.Name || item.Place == pro.Place || item.Details == pro.Details) { Assert.Fail("ProjectMessageInput 修改信息失败!"); } else { database.Projects.Remove(item); database.SaveChanges(); } } } // 删除数据库中添加的数据[users org pro] DeleteOrgnization(org); }