コード例 #1
0
        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行
コード例 #2
0
        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);
        }