public IActionResult UpdateReferenceEthnicGroup(int id, ReferenceEthnicGroupDto payload) { var referenceEthnicGroupInDb = _unitOfWork.ReferenceEthnicGroups.Get(id); if (referenceEthnicGroupInDb == null) { return(NotFound()); } _mapper.Map(payload, referenceEthnicGroupInDb); _unitOfWork.Complete(); return(NoContent()); }
public async Task Update_MalformedPayload_HttpBadRequest() { // Arrange var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var path = GetRelativePath(nameof(ReferenceEthnicGroupsController), randomEthnicGroupId.ToString()); var apiUpdatingEthnicGroup = new ReferenceEthnicGroupDto { Id = randomEthnicGroupId // Code is required, keep it missing }; // Act var response = await Client.PutAsync(path, new StringContent( JsonConvert.SerializeObject(apiUpdatingEthnicGroup), Encoding.UTF8, JsonMediaType)); // Assert Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); }
public async Task Create_MalformedPayload_HttpBadRequest() { // Arrange var path = GetRelativePath(nameof(ReferenceEthnicGroupsController)); var newEthnicGroupDto = new ReferenceEthnicGroupDto { // Code is required, keep it missing CreatedDate = DateTime.UtcNow }; // Act var response = await Client.PostAsync(path, new StringContent( JsonConvert.SerializeObject(newEthnicGroupDto), Encoding.UTF8, JsonMediaType)); // Assert Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); }
public async Task Update_InvalidEthnicGroup_HttpNotFound() { // Arrange var notExistsEthnicGroupCode = PreDefinedData.GetNotExistsEthnicGroupCode(); var path = GetRelativePath(nameof(ReferenceEthnicGroupsController), int.MaxValue.ToString()); var apiUpdatingEthnicGroup = new ReferenceEthnicGroupDto { Id = int.MaxValue, Code = notExistsEthnicGroupCode, LongName = "Update Test" }; // Act var response = await Client.PutAsync(path, new StringContent( JsonConvert.SerializeObject(apiUpdatingEthnicGroup), Encoding.UTF8, JsonMediaType)); // Assert Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); }
public IActionResult CreateReferenceEthnicGroup(ReferenceEthnicGroupDto payload) { var referenceEthnicGroup = _mapper.Map <ReferenceEthnicGroupDto, ReferenceEthnicGroup>(payload); var referenceEthnicGroupInDb = _unitOfWork.ReferenceEthnicGroups.Find(p => p.Code == payload.Code); if (referenceEthnicGroupInDb.Any()) { return(new ConflictResult()); } _unitOfWork.ReferenceEthnicGroups.Add(referenceEthnicGroup); _unitOfWork.Complete(); payload.Id = referenceEthnicGroup.Id; return(CreatedAtAction(nameof(GetReferenceEthnicGroup), new { id = payload.Id }, payload)); }
public async Task Create_ExistingEthnicGroup_HttpConflict() { // Arrange var path = GetRelativePath(nameof(ReferenceEthnicGroupsController)); var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var randomEthnicGroup = PreDefinedData.ReferenceEthnicGroups[randomEthnicGroupId - 1]; var newEthnicGroupDto = new ReferenceEthnicGroupDto { Code = randomEthnicGroup.Code, LongName = "Create Test", CreatedDate = DateTime.UtcNow }; // Act var response = await Client.PostAsync(path, new StringContent( JsonConvert.SerializeObject(newEthnicGroupDto), Encoding.UTF8, JsonMediaType)); // Assert Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.Conflict)); }
public async Task Create_ValidPayload_HttpCreatedAndReturnsNewEthnicGroup() { // Arrange var path = GetRelativePath(nameof(ReferenceEthnicGroupsController)); var notExistsEthnicGroupCode = PreDefinedData.GetNotExistsEthnicGroupCode(); var newEthnicGroupDto = new ReferenceEthnicGroupDto { Code = notExistsEthnicGroupCode, LongName = "New EthnicGroup", CreatedDate = DateTime.UtcNow, CreatedBy = CreatedModifiedBy, ModifiedDate = DateTime.UtcNow, ModifiedBy = CreatedModifiedBy }; // Act var response = await Client.PostAsync(path, new StringContent( JsonConvert.SerializeObject(newEthnicGroupDto), Encoding.UTF8, JsonMediaType)); var responseString = await response.Content.ReadAsStringAsync(); // Assert Assert.DoesNotThrow( () => response.EnsureSuccessStatusCode(), string.Format(HttpExceptionFormattedMessage, responseString)); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.Created)); var apiReturnedObject = JsonConvert.DeserializeObject <ReferenceEthnicGroupDto>(responseString); Assert.That(apiReturnedObject.Id, Is.GreaterThan(0)); newEthnicGroupDto.Id = apiReturnedObject.Id; AssertHelper.AreObjectsEqual(apiReturnedObject, newEthnicGroupDto); }