Beispiel #1
0
        public async Task UpdateSubjectAsync_ShouldReturnTrue_WhenSubjectUpdated()
        {
            //Arrange
            var SubjectId          = new Random().Next(1, int.MaxValue);
            var SubjectDescription = "Subject Description created";
            var Subject            = new Subject()
            {
                SubjectId = new Random().Next(1, int.MaxValue), Description = SubjectDescription
            };


            repoWrapperMock.Setup(p => p.Subject.GetSubjectByIdAsync(SubjectId))
            .ReturnsAsync(Subject);

            var SubjectForUpdated = new SubjectPut()
            {
                Description = "Subject Description Update"
            };

            repoWrapperMock.Setup(p => p.Subject.UpdateSubjectAsync(Subject));

            //Act
            var isSubjectUpdated = await SubjectService.UpdateSubjectAsync(SubjectId, SubjectForUpdated);

            //Assert
            Assert.True(isSubjectUpdated);
        }
        public async Task <IActionResult> UpdateSubject(int subjectId, [FromBody] SubjectPut subjectPut)
        {
            var isUpdated = await _service.UpdateSubjectAsync(subjectId, subjectPut);

            if (!isUpdated)
            {
                return(NotFound());
            }

            return(NoContent());
        }
        public async Task <bool> UpdateSubjectAsync(int Id, SubjectPut subject)
        {
            var subjectEntity = await _repository.Subject.GetSubjectByIdAsync(Id);

            if (subjectEntity == null)
            {
                _logger.LogError($"Subject with id: {Id}, not found in db.");
                return(false);
            }

            var updatedSubject = _mapper.Map(subject, subjectEntity);

            await _repository.Subject.UpdateSubjectAsync(updatedSubject);

            return(true);
        }
Beispiel #4
0
        public async Task UpdateSubjectAsync_ShouldReturnFalse_WhenSubjectNotFound()
        {
            //Arrange
            var SubjectId         = new Random().Next(1, int.MaxValue);
            var SubjectForUpdated = new SubjectPut()
            {
                Description = "Subject Description Update"
            };

            repoWrapperMock.Setup(p => p.Subject.GetSubjectByIdAsync(It.IsAny <int>()))
            .ReturnsAsync(() => null);

            //Act
            var isSubjectUpdated = await SubjectService.UpdateSubjectAsync(SubjectId, SubjectForUpdated);

            //Assert
            Assert.False(isSubjectUpdated);
        }