//[TestMethod()]
        public void Clear()
        {
            var list = database.Volunteers.Where(o => o.StudentNum != 0).ToList();

            foreach (Volunteer item in list)
            {
                helper.DeleteVolunteer(item);
            }
            var user = database.Users.SingleOrDefault(o => o.AccountName == testclaims.Holder.AccountName);

            database.Users.Remove(user);
            database.SaveChanges();
        }
예제 #2
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);
        }
        public void FindSortedVolunteersByProjectTest()
        {
            // 创建org
            Organization org = identityhelper.CreateOrFindOrganization(Entity.OrganizationEnum.TestOnly);

            // 创建一个project
            Guid    uid  = Guid.NewGuid();
            string  name = "CreatVolunteerTest" + uid.ToString();
            Project pro  = new Project
            {
                Name         = name,
                Place        = "uibe",
                Maximum      = 20,
                Details      = "nothing",
                Time         = DateTime.Now,
                Condition    = Interface.ProjectCondition.Ongoing,
                Organization = org
            };

            projectmanagehelper.CreatNewProject(org, DateTime.Now, name, "uibe", "nothing", 20);
            pro = database.Projects.Single(p => p.Name == pro.Name);
            var addresult = database.Projects.Where(b => b.Name == name);

            if (addresult == null)
            {
                Assert.Fail("添加记录失败!");
            }

            // 向项目中添加志愿者
            // 创建两个志愿者
            Random    random1     = new Random();
            int       studentnum1 = random1.Next(000, 999);
            Volunteer v1          = new Volunteer
            {
                StudentNum = studentnum1,
                Name       = "FindSortedVolunteersByProject",
                Class      = "testclass",
                Room       = "testroom",
                Mobile     = "18888888888",
                Score      = 4
            };

            volunteerhelper.AddVolunteer(v1);
            if (database.Volunteers.Where(v => v.StudentNum == v1.StudentNum).Count() == 0)
            {
                Assert.Fail("插入对象失败!");
            }
            Random    random2     = new Random();
            int       studentnum2 = random2.Next(000, 999);
            Volunteer v2          = new Volunteer
            {
                StudentNum = studentnum2,
                Name       = "FindSortedVolunteersByProject",
                Class      = "testclass",
                Room       = "testroom",
                Mobile     = "18888888888",
                Score      = 2
            };

            volunteerhelper.AddVolunteer(v2);
            helper.SingleVolunteerInputById(v1.StudentNum, pro);
            helper.SingleVolunteerInputById(v2.StudentNum, pro);


            // 测试FindSortedVolunteersByProject
            var       volunteerlist = helper.FindSortedVolunteersByProject(pro);
            Volunteer testresult    = volunteerlist.First();

            if (testresult.StudentNum != studentnum1)
            {
                Assert.Fail("测试FindSortedVolunteersByProject失败!");
            }

            // 删除数据库的有关数据[org pro vol]
            volunteerhelper.DeleteVolunteer(v1.StudentNum);
            volunteerhelper.DeleteVolunteer(v2.StudentNum);
            DeleteOrgnization(org);
        }