public void NotCallDeleteMethodFromSubjectClassOfStudentsDaysOfWeekRepo_AndCommitMethodFromUoWN_WhenItemFoundIsNull()
        {
            var mockedSubjectRepo = new Mock <IRepository <Subject> >();
            var mockedUserRepo    = new Mock <IRepository <User> >();
            var mockedTeacherRepo = new Mock <IRepository <Teacher> >();
            var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >();
            var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >();
            var mockedStudentRepo    = new Mock <IRepository <Student> >();
            var mockedUnitOfWork     = new Mock <IUnitOfWork>();

            SubjectClassOfStudentsDaysOfWeek expected = null;

            mockedSubjectClassOfStudentsDaysOfWeekRepo
            .Setup(x => x.GetFirst(It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, bool> > >()))
            .Returns(expected);

            var scheduleService = new ScheduleDataService(
                mockedSubjectRepo.Object,
                mockedUserRepo.Object,
                mockedTeacherRepo.Object,
                mockedSubjectClassOfStudentsDaysOfWeekRepo.Object,
                mockedDaysOfWeekRepo.Object,
                mockedStudentRepo.Object,
                () => mockedUnitOfWork.Object);

            scheduleService.RemoveSubjectFromSchedule(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>());
            mockedSubjectClassOfStudentsDaysOfWeekRepo.Verify(x => x.Delete(It.IsAny <SubjectClassOfStudentsDaysOfWeek>()), Times.Never);
            mockedUnitOfWork.Verify(x => x.Commit(), Times.Never);
        }
        public void ReturnAllDaysOfWeek()
        {
            var mockedSubjectRepo = new Mock <IRepository <Subject> >();
            var mockedUserRepo    = new Mock <IRepository <User> >();
            var mockedTeacherRepo = new Mock <IRepository <Teacher> >();
            var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >();
            var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >();
            var mockedStudentRepo    = new Mock <IRepository <Student> >();
            var mockedUnitOfWork     = new Mock <Func <IUnitOfWork> >();

            var scheduleService = new ScheduleDataService(
                mockedSubjectRepo.Object,
                mockedUserRepo.Object,
                mockedTeacherRepo.Object,
                mockedSubjectClassOfStudentsDaysOfWeekRepo.Object,
                mockedDaysOfWeekRepo.Object,
                mockedStudentRepo.Object,
                mockedUnitOfWork.Object);

            IEnumerable <DaysOfWeek> actual = new List <DaysOfWeek>()
            {
                new DaysOfWeek(),
                new DaysOfWeek(),
                new DaysOfWeek()
            };

            mockedDaysOfWeekRepo.Setup(x => x.GetAll()).Returns(actual);

            var expected = scheduleService.GetAllDaysOfWeek();

            CollectionAssert.AreEquivalent(expected, actual);
        }
Esempio n. 3
0
        public void Return_EmptyCollection_WhenTeacherDoesNotHaveAssignedProgram()
        {
            var mockedSubjectRepo = new Mock <IRepository <Subject> >();
            var mockedUserRepo    = new Mock <IRepository <User> >();
            var mockedTeacherRepo = new Mock <IRepository <Teacher> >();
            var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >();
            var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >();
            var mockedStudentRepo    = new Mock <IRepository <Student> >();
            var mockedUnitOfWork     = new Mock <Func <IUnitOfWork> >();

            mockedUserRepo
            .Setup(x => x.GetFirst(It.IsAny <Expression <Func <User, bool> > >()))
            .Returns(new User());

            mockedSubjectRepo
            .Setup(x => x.GetAll(It.IsAny <Expression <Func <Subject, bool> > >(), It.IsAny <Expression <Func <Subject, int> > >()))
            .Returns(new List <int>());

            var scheduleService = new ScheduleDataService(
                mockedSubjectRepo.Object,
                mockedUserRepo.Object,
                mockedTeacherRepo.Object,
                mockedSubjectClassOfStudentsDaysOfWeekRepo.Object,
                mockedDaysOfWeekRepo.Object,
                mockedStudentRepo.Object,
                mockedUnitOfWork.Object);

            var result = scheduleService.GetTeacherScheduleForTheDay(It.IsIn <DayOfWeek>(), "NotNullUserName");

            Assert.AreEqual(0, result.Count());
        }
Esempio n. 4
0
        public void Return_EmptyCollection_AndCallGetFirstMethodFromUserRepoOnce_WhenUserFoundIsNull()
        {
            var mockedSubjectRepo = new Mock <IRepository <Subject> >();
            var mockedUserRepo    = new Mock <IRepository <User> >();
            var mockedTeacherRepo = new Mock <IRepository <Teacher> >();
            var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >();
            var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >();
            var mockedStudentRepo    = new Mock <IRepository <Student> >();
            var mockedUnitOfWork     = new Mock <Func <IUnitOfWork> >();

            User expectedReturnFromRepo = null;

            mockedUserRepo
            .Setup(x => x.GetFirst(It.IsAny <Expression <Func <User, bool> > >()))
            .Returns(expectedReturnFromRepo);

            var scheduleService = new ScheduleDataService(
                mockedSubjectRepo.Object,
                mockedUserRepo.Object,
                mockedTeacherRepo.Object,
                mockedSubjectClassOfStudentsDaysOfWeekRepo.Object,
                mockedDaysOfWeekRepo.Object,
                mockedStudentRepo.Object,
                mockedUnitOfWork.Object);

            var result = scheduleService.GetStudentScheduleForTheDay(It.IsIn <DayOfWeek>(), "NotNullUserName");

            mockedUserRepo.Verify(x => x.GetFirst(It.IsAny <Expression <Func <User, bool> > >()), Times.Once);
            mockedStudentRepo.Verify(x => x.GetFirst(It.IsAny <Expression <Func <Student, bool> > >()), Times.Never);
            Assert.AreEqual(0, result.Count());
        }
Esempio n. 5
0
        public void Call_SubjectClassOfStudentsDaysOfWeekRepo_GetAllMethodOnce()
        {
            var mockedSubjectRepo = new Mock <IRepository <Subject> >();
            var mockedUserRepo    = new Mock <IRepository <User> >();
            var mockedTeacherRepo = new Mock <IRepository <Teacher> >();
            var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >();
            var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >();
            var mockedStudentRepo    = new Mock <IRepository <Student> >();
            var mockedUnitOfWork     = new Mock <Func <IUnitOfWork> >();

            var scheduleService = new ScheduleDataService(
                mockedSubjectRepo.Object,
                mockedUserRepo.Object,
                mockedTeacherRepo.Object,
                mockedSubjectClassOfStudentsDaysOfWeekRepo.Object,
                mockedDaysOfWeekRepo.Object,
                mockedStudentRepo.Object,
                mockedUnitOfWork.Object);

            scheduleService.GetClassScheduleForTheDay(It.IsAny <int>(), It.IsAny <int>());

            mockedSubjectClassOfStudentsDaysOfWeekRepo.Verify(
                x => x.GetAll(
                    It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, bool> > >(),
                    It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, ManagingScheduleModel> > >(),
                    It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, object> >[]>()),
                Times.Once);
        }
Esempio n. 6
0
        public void CallAddMethod_FromSubjectClassOfStudentDaysOfWeekRepo_Once_AndReturnFalse_WhenExceptionIsThrown()
        {
            var mockedSubjectRepo = new Mock <IRepository <Subject> >();
            var mockedUserRepo    = new Mock <IRepository <User> >();
            var mockedTeacherRepo = new Mock <IRepository <Teacher> >();
            var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >();
            var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >();
            var mockedStudentRepo    = new Mock <IRepository <Student> >();
            var mockedUnitOfWork     = new Mock <IUnitOfWork>();

            mockedUnitOfWork.Setup(x => x.Commit()).Throws(new Exception());

            var scheduleService = new ScheduleDataService(
                mockedSubjectRepo.Object,
                mockedUserRepo.Object,
                mockedTeacherRepo.Object,
                mockedSubjectClassOfStudentsDaysOfWeekRepo.Object,
                mockedDaysOfWeekRepo.Object,
                mockedStudentRepo.Object,
                () => mockedUnitOfWork.Object);

            var resultOfAdding = scheduleService.AddSubjectToSchedule(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <DateTime>(), It.IsAny <DateTime>());

            mockedSubjectClassOfStudentsDaysOfWeekRepo.Verify(x => x.Add(It.IsAny <SubjectClassOfStudentsDaysOfWeek>()), Times.Once);
            Assert.False(resultOfAdding);
        }
Esempio n. 7
0
 public ScheduleViewModel(ScheduleDataService scheduleDataServices,
                          AmbulatoryViewModelFactory ambulatoryViewModelFactory,
                          ClaimsPrincipal claimsPrincipal)
 {
     _scheduleDataServices       = scheduleDataServices;
     _ambulatoryViewModelFactory = ambulatoryViewModelFactory;
     _claimsPrincipal            = claimsPrincipal;
     SelectedDate = new DateTime(2021, 05, 03);
 }
Esempio n. 8
0
        public void ReturnCorrectData()
        {
            var mockedSubjectRepo = new Mock <IRepository <Subject> >();
            var mockedUserRepo    = new Mock <IRepository <User> >();
            var mockedTeacherRepo = new Mock <IRepository <Teacher> >();
            var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >();
            var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >();
            var mockedStudentRepo    = new Mock <IRepository <Student> >();
            var mockedUnitOfWork     = new Mock <Func <IUnitOfWork> >();

            var scheduleService = new ScheduleDataService(
                mockedSubjectRepo.Object,
                mockedUserRepo.Object,
                mockedTeacherRepo.Object,
                mockedSubjectClassOfStudentsDaysOfWeekRepo.Object,
                mockedDaysOfWeekRepo.Object,
                mockedStudentRepo.Object,
                mockedUnitOfWork.Object);

            var mockedSubjectClassOfStudentsDaysOfWeek = new SubjectClassOfStudentsDaysOfWeek()
            {
                DaysOfWeekId           = 1,
                DaysOfWeek             = new DaysOfWeek(),
                ClassOfStudentsId      = 1,
                SubjectClassOfStudents = new SubjectClassOfStudents()
                {
                    Subject = new Subject()
                },
                StartHour = DateTime.Now,
                EndHour   = DateTime.Now
            };

            var actual = new List <SubjectClassOfStudentsDaysOfWeek>()
            {
                mockedSubjectClassOfStudentsDaysOfWeek,
                mockedSubjectClassOfStudentsDaysOfWeek,
                mockedSubjectClassOfStudentsDaysOfWeek
            };

            mockedSubjectClassOfStudentsDaysOfWeekRepo
            .Setup(x => x.GetAll(
                       It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, bool> > >(),
                       It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, ManagingScheduleModel> > >(),
                       It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, object> >[]>()))
            .Returns((Expression <Func <SubjectClassOfStudentsDaysOfWeek, bool> > predicate,
                      Expression <Func <SubjectClassOfStudentsDaysOfWeek, ManagingScheduleModel> > expression,
                      Expression <Func <SubjectClassOfStudentsDaysOfWeek, object> >[] include) =>
                     actual.Where(predicate.Compile()).Select(expression.Compile()));

            var expected = scheduleService.GetClassScheduleForTheDay(1, 1);

            Assert.AreEqual(actual.Count(), expected.Count());
            CollectionAssert.AreNotEquivalent(expected, actual);
        }
Esempio n. 9
0
        public ScheduleObjectCollection GetAll()
        {
            ScheduleObjectCollection schedules;

            try
            {
                schedules = new ScheduleDataService().GetAll();
            }
            catch (System.Exception exception1)
            {
                System.Exception innerException = exception1;
                throw new System.Exception(MethodBase.GetCurrentMethod().Name, innerException);
            }
            return(schedules);
        }
Esempio n. 10
0
 public RootViewModelFactory(
     AmbulatoryViewModelFactory ambulatoryViewModelFactory,
     IAuthenticationService <Staff> authenticationService,
     ClaimsPrincipal claimsPrincipal,
     IGenericRepository <Belay> belayRepository,
     IGenericRepository <Patient> patientRepository,
     ScheduleDataService scheduleDataServices,
     EntryDataService entryDataService)
 {
     _ambulatoryViewModelFactory = ambulatoryViewModelFactory;
     _authenticationService      = authenticationService;
     _claimsPrincipal            = claimsPrincipal;
     _belayRepository            = belayRepository;
     _patientRepository          = patientRepository;
     _scheduleDataServices       = scheduleDataServices;
     _entryDataService           = entryDataService;
 }
        public void Call_daysOfWeekRepoGetAll_MethodOnce()
        {
            var mockedSubjectRepo = new Mock <IRepository <Subject> >();
            var mockedUserRepo    = new Mock <IRepository <User> >();
            var mockedTeacherRepo = new Mock <IRepository <Teacher> >();
            var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >();
            var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >();
            var mockedStudentRepo    = new Mock <IRepository <Student> >();
            var mockedUnitOfWork     = new Mock <Func <IUnitOfWork> >();

            var scheduleService = new ScheduleDataService(
                mockedSubjectRepo.Object,
                mockedUserRepo.Object,
                mockedTeacherRepo.Object,
                mockedSubjectClassOfStudentsDaysOfWeekRepo.Object,
                mockedDaysOfWeekRepo.Object,
                mockedStudentRepo.Object,
                mockedUnitOfWork.Object);

            scheduleService.GetAllDaysOfWeek();

            mockedDaysOfWeekRepo.Verify(x => x.GetAll(), Times.Once);
        }
Esempio n. 12
0
        public void Throw_ArgumentException_WithMessageContaining_Username_WhenUserNameIsEmptyString()
        {
            var mockedSubjectRepo = new Mock <IRepository <Subject> >();
            var mockedUserRepo    = new Mock <IRepository <User> >();
            var mockedTeacherRepo = new Mock <IRepository <Teacher> >();
            var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >();
            var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >();
            var mockedStudentRepo    = new Mock <IRepository <Student> >();
            var mockedUnitOfWork     = new Mock <Func <IUnitOfWork> >();

            var scheduleService = new ScheduleDataService(
                mockedSubjectRepo.Object,
                mockedUserRepo.Object,
                mockedTeacherRepo.Object,
                mockedSubjectClassOfStudentsDaysOfWeekRepo.Object,
                mockedDaysOfWeekRepo.Object,
                mockedStudentRepo.Object,
                mockedUnitOfWork.Object);

            Assert.That(
                () => scheduleService.GetStudentScheduleForTheDay(It.IsAny <DayOfWeek>(), string.Empty),
                Throws.ArgumentException.With.Message.Contain("username"));
        }
Esempio n. 13
0
        public void ReturnCorrectlyMappedData()
        {
            var mockedSubjectRepo = new Mock <IRepository <Subject> >();
            var mockedUserRepo    = new Mock <IRepository <User> >();
            var mockedTeacherRepo = new Mock <IRepository <Teacher> >();
            var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >();
            var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >();
            var mockedStudentRepo    = new Mock <IRepository <Student> >();
            var mockedUnitOfWork     = new Mock <Func <IUnitOfWork> >();

            var scheduleService = new ScheduleDataService(
                mockedSubjectRepo.Object,
                mockedUserRepo.Object,
                mockedTeacherRepo.Object,
                mockedSubjectClassOfStudentsDaysOfWeekRepo.Object,
                mockedDaysOfWeekRepo.Object,
                mockedStudentRepo.Object,
                mockedUnitOfWork.Object);

            var studentUserName = "******";
            var user            = new User()
            {
                UserName = studentUserName
            };

            mockedUserRepo
            .Setup(x => x.GetFirst(It.IsAny <Expression <Func <User, bool> > >()))
            .Returns(user);

            var classOfStudnetsName = "ClassOfStudentsName";
            var classOfStudents     = new ClassOfStudents()
            {
                Id   = 1,
                Name = classOfStudnetsName
            };

            var student = new Student()
            {
                ClassOfStudents = classOfStudents,
                User            = user,
                Id = user.Id,
                ClassOfStudentsId = classOfStudents.Id
            };

            mockedStudentRepo
            .Setup(x => x.GetFirst(It.IsAny <Expression <Func <Student, bool> > >()))
            .Returns(student);

            DayOfWeek dayOfWeek = DayOfWeek.Monday;
            var       day       = new DaysOfWeek()
            {
                Id = 1, Name = dayOfWeek.ToString()
            };

            var startHour = It.IsAny <DateTime>();
            var endHour   = It.IsAny <DateTime>();

            var subjectName = "test";
            var subjectId   = 1;

            var teacher = new Teacher()
            {
                User = new User()
                {
                    LastName = "TeacherLastName"
                }
            };

            var subject = new Subject()
            {
                Name     = subjectName,
                Teacher  = teacher,
                Id       = subjectId,
                ImageUrl = "UrlToTheImage"
            };

            var subjectsClassOfStudnets = new SubjectClassOfStudents()
            {
                ClassOfStudentsId = 1,
                Subject           = subject,
                ClassOfStudents   = classOfStudents
            };

            var data = new List <SubjectClassOfStudentsDaysOfWeek>()
            {
                new SubjectClassOfStudentsDaysOfWeek()
                {
                    SubjectClassOfStudents = subjectsClassOfStudnets,
                    StartHour         = startHour,
                    EndHour           = endHour,
                    ClassOfStudentsId = 1,
                    DaysOfWeekId      = 1,
                    SubjectId         = 1,
                    DaysOfWeek        = day
                }
            };

            IEnumerable <ScheduleModel> expectedResult = null;

            mockedSubjectClassOfStudentsDaysOfWeekRepo
            .Setup(
                x => x.GetAll(
                    It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, bool> > >(),
                    It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, ScheduleModel> > >(),
                    It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, object> >[]>()))
            .Returns((Expression <Func <SubjectClassOfStudentsDaysOfWeek, bool> > predicate,
                      Expression <Func <SubjectClassOfStudentsDaysOfWeek, ScheduleModel> > expression,
                      Expression <Func <SubjectClassOfStudentsDaysOfWeek, object> >[] include) =>
            {
                expectedResult = data.Where(predicate.Compile()).Select(expression.Compile()).ToList();
                return(expectedResult);
            });

            // ACT
            var result = scheduleService.GetStudentScheduleForTheDay(dayOfWeek, studentUserName);

            CollectionAssert.AreEquivalent(expectedResult, result);
        }
Esempio n. 14
0
        public void Map_DataCorrectly()
        {
            var mockedSubjectRepo = new Mock <IRepository <Subject> >();
            var mockedUserRepo    = new Mock <IRepository <User> >();
            var mockedTeacherRepo = new Mock <IRepository <Teacher> >();
            var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >();
            var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >();
            var mockedStudentRepo    = new Mock <IRepository <Student> >();
            var mockedUnitOfWork     = new Mock <Func <IUnitOfWork> >();

            var scheduleService = new ScheduleDataService(
                mockedSubjectRepo.Object,
                mockedUserRepo.Object,
                mockedTeacherRepo.Object,
                mockedSubjectClassOfStudentsDaysOfWeekRepo.Object,
                mockedDaysOfWeekRepo.Object,
                mockedStudentRepo.Object,
                mockedUnitOfWork.Object);

            var mockedSubjectClassOfStudentsDaysOfWeek = new SubjectClassOfStudentsDaysOfWeek()
            {
                DaysOfWeekId           = 1,
                DaysOfWeek             = new DaysOfWeek(),
                ClassOfStudentsId      = 1,
                SubjectClassOfStudents = new SubjectClassOfStudents()
                {
                    Subject = new Subject()
                },
                StartHour = DateTime.Now,
                EndHour   = DateTime.Now
            };

            var collection = new List <SubjectClassOfStudentsDaysOfWeek>()
            {
                mockedSubjectClassOfStudentsDaysOfWeek
            };

            IEnumerable <ManagingScheduleModel> expected = null;

            mockedSubjectClassOfStudentsDaysOfWeekRepo
            .Setup(x => x.GetAll(
                       It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, bool> > >(),
                       It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, ManagingScheduleModel> > >(),
                       It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, object> >[]>()))
            .Returns((Expression <Func <SubjectClassOfStudentsDaysOfWeek, bool> > predicate,
                      Expression <Func <SubjectClassOfStudentsDaysOfWeek, ManagingScheduleModel> > expression,
                      Expression <Func <SubjectClassOfStudentsDaysOfWeek, object> >[] include) =>
            {
                expected = collection.Where(predicate.Compile()).Select(expression.Compile()).ToList();
                return(expected);
            });

            var result = scheduleService.GetClassScheduleForTheDay(1, 1).ToList();

            //TODO SHOW TO KIKO
            //Assert.AreSame(collection[0].DaysOfWeek, result[0].DaysOfWeek);
            //Assert.AreEqual(collection[0].StartHour, result[0].StartHour);
            //Assert.AreEqual(collection[0].EndHour, result[0].EndHour);
            //Assert.AreSame(collection[0].SubjectClassOfStudents.Subject, result[0].Subject);

            CollectionAssert.AreEquivalent(expected, result);
        }