public async Task <IActionResult> UpdateDefectAsync(int id, UpdateDefectDto updateDefectDto)
        {
            if (id != updateDefectDto.Id)
            {
                return(NotFound(resourcesManager.GetString("NotExist")));
            }
            var defect = await defectsService.UpdateDefectAsync(updateDefectDto);

            if (defect == null)
            {
                return(NotFound(resourcesManager.GetString("NotFound")));
            }
            return(Ok(defect));
        }
Exemple #2
0
        /// <summary>
        /// Change one or many properties of car in the database.
        /// </summary>
        /// <param name="updateDefectDto"></param>
        /// <returns>return updated defect mapped to DefectDto</returns>
        public async Task <DefectDto> UpdateDefectAsync(UpdateDefectDto updateDefectDto)
        {
            var defect = await defectRepository.FindDefectByIdAsync(updateDefectDto.Id);

            if (defect == null)
            {
                return new DefectDto()
                       {
                           Status      = updateDefectDto.Status,
                           Description = updateDefectDto.Description,
                           DefectId    = updateDefectDto.Id
                       }
            }
            ;
            defect.Update(updateDefectDto.Description, updateDefectDto.Status);
            await defectRepository.SaveChangesAsync();

            return(mapper.Map <DefectDto>(defect));
        }
    }
Exemple #3
0
        public async Task UpdateDefect_DefectNotFound_ReturnMapObject()
        {
            UpdateDefectDto updateDefectDto = new UpdateDefectDto()
            {
                Id          = 1,
                Description = "Broken door",
                Status      = Status.InRepair
            };

            mockDefectsRepository
            .Setup(p => p.FindDefectByIdAsync(updateDefectDto.Id))
            .ReturnsAsync(null as Defect);

            var services = new DefectService(mockUsersRepository.Object, mockCarsRepository.Object, mapper, mockDefectsRepository.Object);
            //Act
            var result = await services.UpdateDefectAsync(updateDefectDto);

            //Assert
            var assertResult = Assert.IsType <DefectDto>(result);

            Assert.Equal(result.DefectId, updateDefectDto.Id);
            Assert.Equal(result.Description, updateDefectDto.Description);
            Assert.Equal(result.Status, updateDefectDto.Status);
        }
Exemple #4
0
        public async Task UpdateDefect_CorrectObject_ReturnMapObject()
        {
            UpdateDefectDto updateDefectDto = new UpdateDefectDto()
            {
                Id          = 1,
                Description = "Broken door",
                Status      = Status.InRepair
            };
            Defect Defect = new Defect()
            {
                DefectId    = 1,
                Description = "Door Finished",
                Status      = Status.Finished
            };

            mockDefectsRepository
            .Setup(p => p.FindDefectByIdAsync(updateDefectDto.Id))
            .ReturnsAsync(new Defect()
            {
                DefectId    = 1,
                Description = "Door Finished",
                Status      = Status.Finished
            });
            mockDefectsRepository
            .Setup(s => s.SaveChangesAsync())
            .Verifiable();
            var services = new DefectService(mockUsersRepository.Object, mockCarsRepository.Object, mapper, mockDefectsRepository.Object);
            //Act
            var result = await services.UpdateDefectAsync(updateDefectDto);

            //Assert
            var assertResult = Assert.IsType <DefectDto>(result);

            Assert.Equal(result.Description, updateDefectDto.Description);
            Assert.Equal(result.Status, updateDefectDto.Status);
        }