Example #1
0
        public void GetById()
        {
            var controller = new LessonsController();

            controller.AppSettings = this.AppSettings;

            //Initially no classes
            Assert.IsNull(controller.Get("not-there"));

            //Now add some classes
            var db = new CSALDatabase(DB_URL);

            db.SaveLesson(new Lesson {
                LessonID = "l1", TurnCount = 1
            });
            db.SaveLesson(new Lesson {
                LessonID = "l2", TurnCount = 2
            });

            //Still missing
            Assert.IsNull(controller.Get("not-there"));

            //Find what we inserted
            var oneLesson = controller.Get("l2");

            Assert.AreEqual("l2", oneLesson.Id);
            Assert.AreEqual(2, oneLesson.TurnCount);
        }
Example #2
0
        public void Get()
        {
            var controller = new LessonsController();

            controller.AppSettings = this.AppSettings;

            //Initially no lessons
            var noLessons = controller.Get();

            Assert.AreEqual(0, noLessons.Count());

            //Now add some lessons
            var db = new CSALDatabase(DB_URL);

            db.SaveLesson(new Lesson {
                LessonID = "l1", TurnCount = 1
            });
            db.SaveLesson(new Lesson {
                LessonID = "l2", TurnCount = 2
            });

            var twoLessons = controller.Get().OrderBy(c => c.Id).ToList();

            Assert.AreEqual(2, twoLessons.Count);
            Assert.AreEqual("l1", twoLessons[0].Id);
            Assert.AreEqual("l2", twoLessons[1].Id);
        }
        public async Task GetLessonReturnsNotFoundResultWhenLessonIdIsWrong()
        {
            // Arrange
            var id = 0;

            mock.Setup(serv => serv.GetByIdAsync(id, LessonExtensions.ToDto)).Returns(Task.Run(() => GetTestLessons().FirstOrDefault(x => x.Id == id)));
            var controller = new LessonsController(mock.Object);

            // Act
            var result = await controller.Get(id);

            // Arrange
            Assert.IsType <NotFoundObjectResult>(result.Result);
        }
        public void GetAllReturnsAnAsyncEnumerableResultWithLessons()
        {
            // Arrange
            mock.Setup(serv => serv.GetAllAsync(LessonExtensions.ToDto)).Returns(GetTestLessons().ToAsyncEnumerable());
            var controller = new LessonsController(mock.Object);

            // Act
            var result = controller.Get();

            // Assert
            var lessons = Assert.IsAssignableFrom <IAsyncEnumerable <LessonViewModel> >(result);

            Assert.Equal(lessons, result);
        }
Example #5
0
        public void PostById()
        {
            var controller = new LessonsController();

            controller.AppSettings = this.AppSettings;

            Assert.IsNull(controller.Get("single-id"));

            controller.Post("single-id", @"{
                _id: 'single-id', 
                LessonID: 'single-id', 
                LastTurnTime: ISODate('2012-05-02T13:07:17.000Z'), 
                TurnCount: 42, 
                Students: ['s1', 's2']
            }");

            Lesson lesson = controller.Get("single-id");

            Assert.AreEqual("single-id", lesson.Id);
            Assert.AreEqual("single-id", lesson.LessonID);
            Assert.AreEqual(new DateTime(2012, 5, 2, 13, 7, 17), lesson.LastTurnTime);
            Assert.AreEqual(42, lesson.TurnCount);
            CollectionAssert.AreEquivalent(new string[] { "s1", "s2" }, lesson.Students);
        }
Example #6
0
        public void BadPostById()
        {
            var controller = new LessonsController();

            controller.AppSettings = this.AppSettings;

            Assert.IsNull(controller.Get("single-id"));

            //Try to save to wrong ID
            controller.Post("wrong-id", @"{
                _id: 'single-id', 
                LessonID: 'single-id', 
                LastTurnTime: ISODate('2012-05-02T13:07:17.000Z'), 
                TurnCount: 42, 
                Students: ['s1', 's2']
            }");
        }
        public async Task GetLessonReturnsOkResultWithLesson()
        {
            // Arrange
            int id = 1;

            mock.Setup(repo => repo.GetByIdAsync(id, LessonExtensions.ToDto))
            .Returns(Task.Run(() => new LessonDto {
                Id = 1, Marks = new List <MarkDto>(), Title = "lesson1"
            }));
            var controller = new LessonsController(mock.Object);

            // Act
            var result = await controller.Get(id);

            //var lesson = Assert.IsAssignableFrom<ActionResult<LessonViewModel>>(result);
            //Assert.Equal("lessonId", lesson.Value.Title);
            Assert.IsType <OkObjectResult>(result.Result);
        }
        public async Task GetByIdReturnsAnActionResultWithLessonAsync()
        {
            // Arrange
            var id             = 1;
            var expectedLesson = GetTestLessons().FirstOrDefault(x => x.Id == id);

            mock.Setup(serv => serv.GetByIdAsync(id, LessonExtensions.ToDto)).Returns(Task.Run(() => expectedLesson));
            var controller = new LessonsController(mock.Object);

            // Act
            var result = await controller.Get(id);

            // Assert
            var lesson = Assert.IsAssignableFrom <ActionResult <LessonViewModel> >(result);

            Assert.Equal(lesson, result);
            //Assert.Equal(expectedLesson., result);
        }