Beispiel #1
0
        public async Task UpdateLecture_IdLowerThanOneValidationError_Test(int id)
        {
            // Arrange
            var newLecture = new SaveLectureResource {
                CourseId = 1, Name = "Update", Date = new DateTime(1998, 12, 12)
            };
            // Act
            var result = await Controller.UpdateLecture(id, newLecture);

            var badRequest = result.Result as BadRequestObjectResult;

            // Assert
            Assert.That(badRequest is BadRequestObjectResult);
        }
Beispiel #2
0
        public async Task CreateLecture_CourseIdEmptyValidationError_Test()
        {
            // Arrange
            var newLecture = new SaveLectureResource {
                Name = "New", Date = new DateTime(1998, 12, 12)
            };
            // Act
            var result = await Controller.CreateLecture(newLecture);

            var badRequest = result.Result as BadRequestObjectResult;

            // Assert
            Assert.That(badRequest is BadRequestObjectResult);
        }
Beispiel #3
0
        public async Task UpdateLecture_NormalConditions_Test(int id)
        {
            // Arrange
            var newLecture = new SaveLectureResource {
                CourseId = 1, Name = "Update", Date = new DateTime(1998, 12, 12)
            };
            // Act
            await Controller.UpdateLecture(id, newLecture);

            var result = await Controller.GetAllLectures();

            var okObject   = result.Result as OkObjectResult;
            var collection = okObject.Value as IEnumerable <LectureWithCourseResource>;

            // Assert
            Service.Verify(x => x.UpdateLecture(It.IsAny <Lecture>()), Times.Once);
            Assert.That(collection.ElementAt(0).Name, Is.EqualTo("Update"));
        }
        public async Task <ActionResult <LectureWithCourseResource> > CreateLecture([FromBody] SaveLectureResource saveLectureResource)
        {
            var validator        = new SaveLectureResourceValidator();
            var validationResult = await validator.ValidateAsync(saveLectureResource);

            if (!validationResult.IsValid)
            {
                _logger.LogError(DateTime.Now + $"\nCreating lecture failed, validation isn't valid " + validationResult.Errors.ToString());
                return(BadRequest(validationResult.Errors));
            }

            var lectureToCreate = _mapper.Map <SaveLectureResource, Lecture>(saveLectureResource);

            var result = await _lectureService.CreateLecture(lectureToCreate);

            var createdLecture = _mapper.Map <Lecture, LectureWithCourseResource>(result);

            return(Ok(createdLecture));
        }
        public async Task <ActionResult <LectureWithCourseResource> > UpdateLecture(int id, [FromBody] SaveLectureResource saveLectureResource)
        {
            var validator        = new SaveLectureResourceValidator();
            var validationResult = await validator.ValidateAsync(saveLectureResource);

            var requestIsInvalid = id <= 0 || !validationResult.IsValid;

            if (requestIsInvalid)
            {
                _logger.LogError(DateTime.Now + $"\nUpdating lecture with {id} id failed, validation isn't valid " + validationResult.Errors.ToString());
                return(BadRequest(validationResult.Errors));
            }

            var lectureToBeUpdate = await _lectureService.GetLectureWithCourseById(id);

            var lecture = _mapper.Map <SaveLectureResource, Lecture>(saveLectureResource);

            lecture.Id = id;

            await _lectureService.UpdateLecture(lecture);

            var updatedLecture = await _lectureService.GetLectureWithCourseById(id);

            var updatedLectureResource = _mapper.Map <Lecture, LectureWithCourseResource>(updatedLecture);

            return(Ok(updatedLectureResource));
        }