Пример #1
0
        public async Task DeleteLectureciseByIdReturnsNullIfObjectAlreadyDeleted()
        {
            var options = new DbContextOptionsBuilder <LMSAppContext>()
                          .UseInMemoryDatabase(databaseName: "CreateLecturecise_Database3")
                          .Options;

            BaseServiceTests.Initialize();

            string lectureciseId = null;

            using (var context = new LMSAppContext(options))
            {
                context.Lecturecises.Add(new Lecturecise()
                {
                    CourseId  = "1",
                    Type      = LectureciseType.Excercise,
                    IsDeleted = true
                }
                                         );

                context.SaveChanges();

                lectureciseId = context.Lecturecises.Where(l => l.CourseId == "1").First().Id;
            }

            using (var context = new LMSAppContext(options))
            {
                var repository = new DbRepository <Lecturecise>(context);
                var service    = new LectureciseService(repository);

                var courseId = await service.DeleteLectureciseById(lectureciseId);

                Assert.Null(courseId);
            }
        }
Пример #2
0
        public void AnyReturnsFalseForEmptyList()
        {
            var lectureRepository = new Mock <IRepository <Lecturecise> >();

            lectureRepository.Setup(r => r.All()).Returns(new List <Lecturecise>().AsQueryable());
            var service = new LectureciseService(lectureRepository.Object);

            Assert.False(service.Any("test"));
        }
Пример #3
0
        public void GetAllByStudentReturnsLecturecisesByStudentId()
        {
            BaseServiceTests.Initialize();

            var repository = new DbRepository <Lecturecise>(this.dbFixture.dbContext);
            var service    = new LectureciseService(repository);

            Assert.Single(service.GetAllByStudent("student1"));
        }
Пример #4
0
        public void AnyReturnsTrueForNonEmptyList()
        {
            var firstLectureciseId = this.dbFixture.dbContext.Lecturecises
                                     .Where(l => l.IsDeleted == false).First().Id;

            var repository = new DbRepository <Lecturecise>(this.dbFixture.dbContext);
            var service    = new LectureciseService(repository);

            Assert.True(service.Any(firstLectureciseId));
        }
Пример #5
0
        public void GetAllGetsAllLecturecises()
        {
            BaseServiceTests.Initialize();

            var count = this.dbFixture.dbContext.Lecturecises
                        .Where(l => l.IsDeleted == false).Count();

            var repository = new DbRepository <Lecturecise>(this.dbFixture.dbContext);
            var service    = new LectureciseService(repository);

            Assert.Equal(count, service.GetAll().Count());
        }
Пример #6
0
        public void GetByIdOriginalReturnsNullIfIdNotFound()
        {
            BaseServiceTests.Initialize();

            var id = "NoSuchLecturecise";

            var repository = new DbRepository <Lecturecise>(this.dbFixture.dbContext);
            var service    = new LectureciseService(repository);

            var result = service.GetByOriginal(id);

            Assert.Null(result);
        }
Пример #7
0
        public void GetByIdOriginalGetsTheLectureciseWithTheGivenId()
        {
            BaseServiceTests.Initialize();

            var id = "rand1";

            var repository = new DbRepository <Lecturecise>(this.dbFixture.dbContext);
            var service    = new LectureciseService(repository);

            var result = service.GetByOriginal(id);

            Assert.Equal(id, result.Id);
        }
Пример #8
0
        public void GetByCourseIdGetsAllAndOnlyWithTheGivenId()
        {
            var courseId = "test";

            BaseServiceTests.Initialize();

            var countWithId = this.dbFixture.dbContext.Lecturecises
                              .Where(l => l.CourseId == courseId && l.IsDeleted == false).Count();

            var repository = new DbRepository <Lecturecise>(this.dbFixture.dbContext);
            var service    = new LectureciseService(repository);

            Assert.Equal(countWithId, service.GetByCourseId(courseId).Count());
            Assert.Equal(countWithId, service.GetByCourseId(courseId).Where(l => l.CourseId == courseId).Count());
        }
Пример #9
0
        public async Task GetByIdGetsReturnsNullIfIdNotFound()
        {
            BaseServiceTests.Initialize();

            var ids = this.dbFixture.dbContext.Lecturecises
                      .Where(l => l.IsDeleted == false).Select(l => l.Id).ToList();

            var repository = new DbRepository <Lecturecise>(this.dbFixture.dbContext);
            var service    = new LectureciseService(repository);

            var testId = "notGuid";

            var result = await service.GetById(testId);

            Assert.Null(result);
        }
Пример #10
0
        public async Task GetByIdGetsTheEntityWithTheGivenId()
        {
            BaseServiceTests.Initialize();

            var ids = this.dbFixture.dbContext.Lecturecises
                      .Where(l => l.IsDeleted == false).Select(l => l.Id).ToList();

            var repository = new DbRepository <Lecturecise>(this.dbFixture.dbContext);
            var service    = new LectureciseService(repository);

            foreach (var id in ids)
            {
                var result = await service.GetById(id);

                Assert.Equal(id, result.Id);
            }
        }
Пример #11
0
        public async Task CreateAsyncCreatesOneEntity()
        {
            BaseServiceTests.Initialize();

            var repository = new DbRepository <Lecturecise>(dbFixture.dbContext);
            var service    = new LectureciseService(repository);

            var lectureciseCount = this.dbFixture.dbContext.Lecturecises.Count();

            await service.CreateAsync(new LectureciseCreateBindingModel()
            {
                CourseId = Guid.NewGuid().ToString(),
                Type     = LectureciseType.Excercise
            });

            Assert.Equal(lectureciseCount + 1, dbFixture.dbContext.Lecturecises.Count());
        }
Пример #12
0
        public async Task EditLectureciseChangesAndStoresChanges()
        {
            var options = new DbContextOptionsBuilder <LMSAppContext>()
                          .UseInMemoryDatabase(databaseName: "CreateLecturecise_Database2")
                          .Options;

            BaseServiceTests.Initialize();

            string lectureciseId = null;

            using (var context = new LMSAppContext(options))
            {
                context.Lecturecises.Add(new Lecturecise()
                {
                    CourseId = "1",
                    Type     = LectureciseType.Excercise
                }
                                         );

                context.SaveChanges();

                lectureciseId = context.Lecturecises.Where(l => l.CourseId == "1").First().Id;
            }

            var newCourseId = "2";

            var lectureciseModel = new LectureciseDetailsViewModel()
            {
                Id       = lectureciseId,
                CourseId = newCourseId,
                Type     = LectureciseType.Excercise
            };

            using (var context = new LMSAppContext(options))
            {
                var repository = new DbRepository <Lecturecise>(context);
                var service    = new LectureciseService(repository);
                await service.EditLecturecise(lectureciseModel);

                Assert.Equal(newCourseId, context.Lecturecises.First().CourseId);
            }
        }
Пример #13
0
        public async Task CreateAsyncCreatesEntityWithTheGivenValues()
        {
            var options = new DbContextOptionsBuilder <LMSAppContext>()
                          .UseInMemoryDatabase(databaseName: "CreateLecturecise_Database1")
                          .Options;

            BaseServiceTests.Initialize();

            using (var dbContext = new LMSAppContext(options))
            {
                var repository = new DbRepository <Lecturecise>(dbContext);
                var service    = new LectureciseService(repository);

                await service.CreateAsync(new LectureciseCreateBindingModel()
                {
                    CourseId = "1",
                    Type     = LectureciseType.Excercise
                }
                                          );

                Assert.Equal("1", dbContext.Lecturecises.FirstOrDefault().CourseId);
                Assert.Equal(LectureciseType.Excercise, dbContext.Lecturecises.FirstOrDefault().Type);
            }
        }
Пример #14
0
        public void GetAllByStudentReturnsLecturecisesByEducatorId()
        {
            BaseServiceTests.Initialize();

            var lectureRepository = new Mock <IRepository <Lecturecise> >();

            lectureRepository.Setup(r => r.All())
            .Returns(
                new List <Lecturecise>()
            {
                new Lecturecise()
                {
                    Id       = "rand1",
                    CourseId = "rand",
                    Course   = new Course()
                    {
                        Name = "N", Year = "2017/2018", Semester = Semester.Summer, Major = Major.Biotechnologies
                    },
                    Type      = LectureciseType.Excercise,
                    IsDeleted = false,
                    WeekTimes = new List <WeekTime>()
                    {
                        new WeekTime()
                        {
                            DayOfWeek = DayOfWeek.Friday, StartHour = "12"
                        }
                    },
                    LectureciseStudents = new List <StudentLecturecise>()
                    {
                        new StudentLecturecise()
                        {
                            LectureciseId = "rand1", StudentId = "student1"
                        }
                    },
                    LectureciseEducators = new List <EducatorLecturecise>()
                    {
                        new EducatorLecturecise()
                        {
                            LectureciseId = "rand1",
                            EducatorId    = "edu1",
                            Educator      = new Educator()
                            {
                                UserId = "some1", FacultyName = FacultyOf.Biology
                                , User = new LMSAppUser()
                                {
                                    FamilyName = "V", FirstName = "V"
                                }
                            }
                        }
                    }
                },
                new Lecturecise()
                {
                    Id       = "rand2",
                    CourseId = "rand",
                    Course   = new Course()
                    {
                        Name = "N", Year = "2017/2018", Semester = Semester.Summer, Major = Major.Biotechnologies
                    },
                    Type      = LectureciseType.Excercise,
                    IsDeleted = false,
                    WeekTimes = new List <WeekTime>()
                    {
                        new WeekTime()
                        {
                            DayOfWeek = DayOfWeek.Friday, StartHour = "12"
                        }
                    },
                    LectureciseStudents = new List <StudentLecturecise>()
                    {
                        new StudentLecturecise()
                        {
                            LectureciseId = "rand2", StudentId = "student2"
                        }
                    },
                    LectureciseEducators = new List <EducatorLecturecise>()
                    {
                        new EducatorLecturecise()
                        {
                            LectureciseId = "rand2",
                            EducatorId    = "edu2",
                            Educator      = new Educator()
                            {
                                UserId = "some2", FacultyName = FacultyOf.Biology
                                , User = new LMSAppUser()
                                {
                                    FamilyName = "U", FirstName = "U"
                                }
                            }
                        }
                    }
                }
            }
                .AsQueryable());

            var service = new LectureciseService(lectureRepository.Object);

            Assert.Single(service.GetAllByEducator("edu1"));
        }