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行
Exemplo n.º 2
0
        public void ShowProjectListTest()
        {
            // 创建org
            Organization org = identityhelper.CreateOrFindOrganization(Entity.OrganizationEnum.TestOnly);
            // 创建两个project
            Guid           uid        = Guid.NewGuid();
            string         name1      = "testcreatafirstproject" + uid.ToString();
            string         name2      = "testcreatasecondproject" + uid.ToString();
            ProgressResult addresult1 = helper.CreatNewProject(org, DateTime.Now, name1, "uibe", "nothing", 20);
            ProgressResult addresult2 = helper.CreatNewProject(org, DateTime.Now, name2, "uibe", "it's a test", 30);

            if (!addresult1.Succeeded || !addresult2.Succeeded)
            {
                Assert.Fail("添加记录失败!");
            }

            // 测试ShowProjectList
            var result      = helper.ShowProjectList(org, true);
            var actual      = database.Projects.Where(b => b.Organization.Id == org.Id).ToList();
            int resultcout  = result.Count();
            int actualcount = actual.Count();

            if (result.Count() == 0 && actual.Count() == 0)
            {
                Assert.Fail("记录可能为空,为查询到有关记录!");
            }
            if (resultcout != actualcount)
            {
                Assert.Fail("未成功调用showlist方法查询到有关数据!showlist失败!");
            }

            // 删除数据库的有关数据[org pro]
            DeleteOrgnization(org);
        }
        public void CreateOrFindOrganizationTest()
        {
            var org = database.Organizations.SingleOrDefault(o => o.OrganizationEnum == OrganizationEnum.TestOnly);

            if (org != null)
            {
                var projects = database.Projects.Where(p => p.Organization.Id == org.Id).ToList();
                foreach (var p in projects)
                {
                    database.Projects.Remove(p);
                }
                var users = database.Users.Where(u => u.Organization.Id == org.Id).ToList();
                foreach (var u in users)
                {
                    database.Users.Remove(u);
                }
                var blacklists = database.BlackListRecords.Where(b => b.Organization.Id == org.Id).ToList();
                foreach (var b in blacklists)
                {
                    database.BlackListRecords.Remove(b);
                }
                database.Organizations.Remove(org);
                database.SaveChanges();
            }
            var helperOrg = helper.CreateOrFindOrganization(OrganizationEnum.TestOnly);

            if (helperOrg == null)
            {
                Assert.Fail("未返回Organization对象。");
            }
            if (helperOrg.OrganizationEnum != OrganizationEnum.TestOnly || helperOrg.Name != OrganizationEnum.TestOnly.ToString())
            {
                Assert.Fail("返回的Organization对象不符合标准。");
            }
            org = database.Organizations.SingleOrDefault(o => o.OrganizationEnum == OrganizationEnum.TestOnly);
            if (org == null)
            {
                Assert.Fail("Organization对象未插入数据库。");
            }
            database.Organizations.Remove(org);
            database.SaveChanges();
        }
Exemplo n.º 4
0
        public void AddBlackListTest()
        {
            // 创建第一个volunteer
            Random    tempnum    = new Random();
            int       studentnum = tempnum.Next(000, 999);
            Guid      uid        = Guid.NewGuid();
            string    name       = uid.ToString();
            Volunteer v1         = new Volunteer()
            {
                //Id = 000,
                StudentNum = studentnum,
                Mobile     = "1234567890-",
                Name       = name,
                Email      = "*****@*****.**",
                Class      = "AddTestClass",
                Room       = "AddTestRoom"
            };

            volunteerhelper.AddVolunteer(v1);
            v1 = database.Volunteers.Single(b => b.StudentNum == v1.StudentNum);
            // 创建一个adder
            Guid    temp        = Guid.NewGuid();
            string  appusername = temp.ToString();
            Random  rnd         = new Random();
            int     usertempnum = rnd.Next(000, 999);
            int     usernum     = usertempnum;
            AppUser adder       = new AppUser()
            {
                AccountName = appusername,
                StudentNum  = usernum,
                Mobile      = "1234567890",
                Email       = "*****@*****.**"
            };

            identityhelper.CreateUser(adder, "23457890-", AppRoleEnum.OrgnizationMember, OrganizationEnum.TestOnly);
            adder = database.Users.Single(a => a.AccountName == adder.AccountName);
            // 创建一个org
            Organization org = identityhelper.CreateOrFindOrganization(OrganizationEnum.TestOnly);
            // 创建一个pro
            Guid    prouid  = Guid.NewGuid();
            string  proname = uid.ToString();
            Project pro     = new Project()
            {
                Name         = proname,
                Place        = "testplace",
                Organization = org
            };

            projectmanagerhelper.CreatNewProject(org, System.DateTime.Now, pro.Name, pro.Place, "", 70);
            pro = database.Projects.Single(p => p.Name == pro.Name);
            // 添加第一条黑名单记录
            BlackListRecord testaddrecord1 = new BlackListRecord
            {
                //Id = 1234567890,
                Volunteer    = database.Volunteers.Single(b => b.StudentNum == v1.StudentNum),
                Adder        = database.Users.Single(b => b.StudentNum == adder.StudentNum),
                Status       = BlackListRecordStatus.Enabled,
                Organization = org,
                EndTime      = new DateTime(2090, 2, 11),
                AddTime      = System.DateTime.Now,
                Project      = database.Projects.Single(b => b.Name == pro.Name)
            };
            BlackListResult result = helper.AddBlackListRecord(testaddrecord1);

            if (!result.Succeeded)
            {
                Assert.Fail("返回错误结果!请检查后重试");
            }
            var actual = helper.FindBlackList(v1);

            if (actual == null)
            {
                Assert.Fail("记录添加失败!数据库无此记录!");
            }

            // 测试ExistingRecord
            BlackListRecord testaddrecord3 = new BlackListRecord
            {
                //Id = 0987654321
                Volunteer    = v1,
                Adder        = adder,
                Status       = BlackListRecordStatus.Enabled,
                Organization = org,
                EndTime      = new DateTime(2090, 2, 11),
                AddTime      = System.DateTime.Now,
                Project      = pro
            };
            BlackListResult existingrecordresult = helper.AddBlackListRecord(testaddrecord3);

            //Assert.AreEqual(existingrecordresult, BlackListResult.AddBlackListRecordErrorEnum.ExistingRecord, "检验existingrecord失败!");
            if (!BlackListResult.AreSame(BlackListResult.Error(BlackListResult.AddBlackListRecordErrorEnum.ExistingRecord), existingrecordresult))
            {
                Assert.Fail();
            }

            // 测试WrongTime
            BlackListRecord testaddrecord4 = new BlackListRecord
            {
                EndTime = new DateTime(2017, 2, 1),
                AddTime = System.DateTime.Now
            };
            var wrongtimeresult = helper.AddBlackListRecord(testaddrecord4);

            //Assert.AreEqual(wrongtimeresult, BlackListResult.AddBlackListRecordErrorEnum.WrongTime, "测试wrongtime失败!");
            if (!BlackListResult.AreSame(BlackListResult.Error(BlackListResult.AddBlackListRecordErrorEnum.WrongTime), wrongtimeresult))
            {
                Assert.Fail();
            }

            // 测试Nullrecord
            BlackListRecord testaddrecord5   = new BlackListRecord();
            var             nullrecordresult = helper.AddBlackListRecord(testaddrecord5);

            //Assert.AreEqual(nullrecordresult, BlackListResult.AddBlackListRecordErrorEnum.NullRecord, "测试nullrecord失败!");
            if (!BlackListResult.AreSame(BlackListResult.Error(BlackListResult.AddBlackListRecordErrorEnum.NullRecord), nullrecordresult))
            {
                Assert.Fail();
            }
            //清空数据库
            DeleteOrgnization(org); // 清空org 同时清空了blacklistrecord和org下的project,users
            volunteerhelper.DeleteVolunteer(v1.StudentNum);
        }