コード例 #1
0
        public void MyStudentPageVMInitialize_Success()
        {
            //Arrange
            ClearDatabase();
            CreateMySessionTestData(_appUser);
            VM = new StudentsPageVM(dbConName, new Student(), _appUser);

            //Act
            //VM initialize is the act
            //Assert
            FormContext    formContext         = FormContext.Create;
            SubgridContext subgridContext      = SubgridContext.Groups;
            bool           isConfirmed         = false;
            int            ssId                = 0;
            int            lecId               = 444;
            int            availableGroupCount = 2;
            int            studentCount        = 3;

            Assert.AreEqual(formContext, VM.FormContext);
            Assert.AreEqual(isConfirmed, VM.IsConfirmed);
            Assert.AreEqual(subgridContext, VM.SubgridContext);
            Assert.AreEqual(ssId, VM.SelectedStudent.Id);
            Assert.AreEqual(lecId, VM.Lecturer.Id);
            Assert.AreEqual(availableGroupCount, VM.AvailableGroups.Count);
            Assert.AreEqual(studentCount, VM.Students.Count);
        }
コード例 #2
0
        public void Delete_Success()
        {
            //Arrange
            ClearDatabase();
            CreateMySessionTestData(_appUser);
            VM                 = new StudentsPageVM(dbConName, new Student(), _appUser);
            VM.IsConfirmed     = true;
            VM.SelectedStudent = VM.Students.Where(s => s.Id == 1701267).FirstOrDefault();
            //Act
            VM.Delete(VM.SelectedStudent);
            //Assert
            int studentCount = 2;

            Assert.AreEqual(studentCount, VM.Students.Count);
        }
コード例 #3
0
        public void GenerateNewPasswordHash_Rejected_Fail()
        {
            //Arrange
            ClearDatabase();
            CreateMySessionTestData(_appUser);
            VM = new StudentsPageVM(dbConName, new Student(), _appUser);
            VM.SelectedStudent = new Student(999, "Student", null, "password", DateTime.Now.Date, 444);
            VM.FormContext     = FormContext.Create;
            VM.IsConfirmed     = false;
            //Act
            bool result = VM.GenerateNewPasswordHash("");//randomly generate it

            //Assert
            Assert.IsFalse(result);
        }
コード例 #4
0
        public void Remove_GroupNotFound_Fail()
        {
            //Arrange
            ClearDatabase();
            CreateMySessionTestData(_appUser);
            VM = new StudentsPageVM(dbConName, new Student(), _appUser);
            VM.SelectedStudent = VM.Students.Where(s => s.Id == 12345678).FirstOrDefault();
            Group studentsGroup = VM.SelectedStudent.Groups.Where(g => g.Name.Equals("NonExitstantGroup")).FirstOrDefault();
            //Act
            bool result = VM.Remove(studentsGroup);
            //Assert
            int availableGroupsCount = 1;//nothing removed

            Assert.IsFalse(result);
            Assert.AreEqual(availableGroupsCount, VM.AvailableGroups.Count);
        }
コード例 #5
0
        public void GenerateNewPasswordHash_Create_Random_Success()
        {
            //Arrange
            ClearDatabase();
            CreateMySessionTestData(_appUser);
            VM = new StudentsPageVM(dbConName, new Student(), _appUser);
            VM.SelectedStudent = new Student(999, "Student", null, "password", DateTime.Now.Date, 444);
            VM.FormContext     = FormContext.Create;
            VM.IsConfirmed     = true;
            //Act
            bool result = VM.GenerateNewPasswordHash("");//randomly generate it

            //Assert
            Assert.IsTrue(result);
            Assert.IsTrue(VM.SelectedStudent.Password.Contains("HASH"));
        }
コード例 #6
0
        public void Save_Update_InvalidStudent_NoName_Fail()
        {
            //Arrange
            ClearDatabase();
            CreateMySessionTestData(_appUser);
            VM = new StudentsPageVM(dbConName, new Student(), _appUser);
            VM.SelectedStudent = new Student(999, "", "*****@*****.**", "password", DateTime.Now.Date, 444);
            VM.FormContext     = FormContext.Update;
            //Act
            bool result    = VM.Save();
            int  newScount = 3;

            //Assert
            Assert.IsFalse(result);
            Assert.AreEqual(newScount, VM.Students.Count);
        }
コード例 #7
0
        public void Save_New_Success()
        {
            //Arrange
            ClearDatabase();
            CreateMySessionTestData(_appUser);
            VM = new StudentsPageVM(dbConName, new Student(), _appUser);
            VM.SelectedStudent = new Student(999, "Student", "*****@*****.**", "Password", DateTime.Now.Date, 444);
            VM.FormContext     = FormContext.Create;
            //Act
            bool result    = VM.Save();
            int  newScount = 4;

            //Assert
            Assert.IsTrue(result);
            Assert.AreEqual(newScount, VM.Students.Count);
        }
コード例 #8
0
 public StudentsPage(Student selectedStudent)
 {
     _selectedStudent = selectedStudent;
     VM = new StudentsPageVM(ConnectionConfigs.LiveConfig, _selectedStudent, App.AppUser);
     this.SetMenuButtonColor(MenuButtonsSelection.StudentsPage);
     InitializeComponent();
     Mediator.Register(MediatorChannels.StudentsPageGeneratePasswordCheck.ToString(), ShowPasswordConfBox);
     Mediator.Register(MediatorChannels.StudentsPageNewPasswordDisplay.ToString(), ShowPasswordDisplay);
     Mediator.Register(MediatorChannels.LoadGroupsSubgridForStudents.ToString(), ShowStudentsGroups);
     Mediator.Register(MediatorChannels.LoadQuestionsSubgridForStudents.ToString(), ShowStudentsQuestions);
     Mediator.Register(MediatorChannels.DeleteStudentConfirmation.ToString(), DeleteStudentConfrimation);
     Mediator.Register(MediatorChannels.GoToThisGroup.ToString(), GoToThisGroup);
     Mediator.Register(MediatorChannels.GoToThisQuestion.ToString(), GoToThisQuestion);
     Mediator.Register(MediatorChannels.GoToAnalyseEntity.ToString(), GoToAnalyseEntity);
     Mediator.Register(MediatorChannels.StudnetCSVImport.ToString(), StudnetCSVImport);
     DataContext = VM;
 }
コード例 #9
0
        public void EnterNewMode_Success()
        {
            //Arrange
            ClearDatabase();
            CreateMySessionTestData(_appUser);
            VM = new StudentsPageVM(dbConName, new Student(), _appUser);
            VM.SelectedStudent = VM.Students.Where(s => s.Id == 12345678).FirstOrDefault();
            //Act
            VM.EnterNewMode();
            //Assert
            int ssId = 0;
            int availableGroupCount = 2;

            Assert.AreEqual(FormContext.Create, VM.FormContext);
            Assert.AreEqual(ssId, VM.SelectedStudent.Id);
            Assert.AreEqual(availableGroupCount, VM.AvailableGroups.Count);
        }
コード例 #10
0
        public void MoveEntityInToList_NullGroup_Fail()
        {
            //Arrange
            ClearDatabase();
            CreateMySessionTestData(_appUser);
            VM = new StudentsPageVM(dbConName, new Student(), _appUser);
            VM.SelectedStudent = VM.Students.Where(s => s.Id == 1701267).FirstOrDefault();
            VM.FormContext     = FormContext.Create;
            //Act
            VM.MoveEntityInToList(null);
            //Assert
            int inCount  = 2;
            int outCount = 0;

            Assert.AreEqual(inCount, VM.SelectedStudent.Groups.Count);
            Assert.AreEqual(outCount, VM.AvailableGroups.Count);
        }
コード例 #11
0
        public void Save_Update_InvalidStudent_NoPassword_Fail()
        {
            //Arrange
            ClearDatabase();
            CreateMySessionTestData(_appUser);
            VM = new StudentsPageVM(dbConName, new Student(), _appUser);
            VM.SelectedStudent = VM.Students.Where(s => s.Id == 1701267).FirstOrDefault();
            VM.FormContext     = FormContext.Update;
            //Act
            VM.SelectedStudent.Password = null;
            bool result    = VM.Save();
            int  newScount = 3;

            //Assert
            Assert.IsFalse(result);
            Assert.AreEqual(newScount, VM.Students.Count);
        }
コード例 #12
0
        public void Remove_Success()
        {
            //Arrange
            ClearDatabase();
            CreateMySessionTestData(_appUser);
            VM = new StudentsPageVM(dbConName, new Student(), _appUser);

            VM.SelectedStudent = VM.Students.Where(s => s.Id == 1701267).FirstOrDefault();
            Group studentsGroup = VM.SelectedStudent.Groups.Where(g => g.Name.Equals("Computing 19/20")).FirstOrDefault();
            //Act
            bool result = VM.Remove(studentsGroup);
            //Assert
            int remaingStudentGroupsCount = 1;
            int availableGroupsCount      = 1;//was in 2, we removed 1

            Assert.IsTrue(result);
            Assert.AreEqual(remaingStudentGroupsCount, VM.SelectedStudent.Groups.Count);
            Assert.AreEqual(availableGroupsCount, VM.AvailableGroups.Count);
        }
コード例 #13
0
        public void Save_Update_Success()
        {
            //Arrange
            ClearDatabase();
            CreateMySessionTestData(_appUser);
            VM = new StudentsPageVM(dbConName, new Student(), _appUser);
            VM.SelectedStudent = VM.Students.Where(s => s.Id == 1701267).FirstOrDefault();
            VM.FormContext     = FormContext.Update;
            //Act
            VM.SelectedStudent.Name = "UpdatedValue";
            bool   result    = VM.Save();
            int    newScount = 3;
            string newName   = "UpdatedValue";

            //Assert
            Assert.IsTrue(result);
            Assert.AreEqual(newScount, VM.Students.Count);
            Assert.IsTrue(newName.Equals(VM.SelectedStudent.Name));
        }
コード例 #14
0
        public void Save_Update_InvalidStudent_NoEmail_Fail()
        {
            //Arrange
            Lecturer       _appUser2 = new Lecturer(444, "Suzy", "*****@*****.**", "password", true, new DateTime(2019, 11, 28, 16, 22, 27, 813), 1234);;
            StudentsPageVM VM2       = new StudentsPageVM(dbConName, new Student(), _appUser2);

            ClearDatabase();
            CreateMySessionTestData(_appUser2);
            VM = new StudentsPageVM(dbConName, new Student(), _appUser);
            VM2.SelectedStudent      = VM.UnitOfWork.StudentRepo.Get(444);
            VM2.SelectedStudent.Name = "Updated";
            VM2.FormContext          = FormContext.Update;
            //Act
            bool result    = VM2.Save();
            int  newScount = 3;

            //Assert
            Assert.IsFalse(result);
            Assert.AreEqual(newScount, VM.Students.Count);
        }