public async Task update_should_modify_existing_class() { var client = _factory.CreateClient(); var request = new EditClassRequest() { Id = 1, Name = "edited class", TeacherId = 2 }; var httpsContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); var response = await client.PutAsync("/api/classes", httpsContent); response.ShouldNotBeNull(); response.EnsureSuccessStatusCode(); var responseContent = await response.Content.ReadAsStringAsync(); var responseEntity = JsonConvert.DeserializeObject <Class>(responseContent); responseEntity.Name.ShouldBe(request.Name); responseEntity.Id.ShouldBe(request.Id); // responseEntity.TeacherId.ShouldBe(request.TeacherId); }
public Class Map(EditClassRequest request) { if (request == null) { return(null); } var _class = new Class { Id = request.Id, Name = request.Name, TeacherId = request.TeacherId, }; return(_class); }
public async Task <ClassResponse> EditClassAsync(EditClassRequest request) { var existingRecord = _classRepository.ReadOnlyGetByIdAsync(request.Id); if (existingRecord == null) { throw new ArgumentException($"Class with {request.Id} does not exist in the database"); } var editedClass = _classMapper.Map(request); _classRepository.Update(editedClass); await _classRepository.UnitOfWork.SaveChangesAsync(); return(_classMapper.Map(await _classRepository.ReadOnlyGetByIdAsync(request.Id))); }
public async Task editClass_should_correctly_edit_entity() { var _class = new EditClassRequest() { Id = 2, Name = "A3", TeacherId = 1, }; var editedClass = await _sut.EditClassAsync(_class); editedClass.ShouldNotBeNull(); editedClass.Id.ShouldBe(_class.Id); editedClass.Name.ShouldBe(_class.Name); editedClass.TaughtBy.ShouldNotBeNull(); //editedClass.TaughtBy.Id.ShouldBe(_class.TeacherId); }
public async Task <IActionResult> Put(EditClassRequest classRequest) { var result = await _classService.EditClassAsync(classRequest); return(Ok(result)); }