public void ThrowErrorAndNotConvertIfObjIdIsNotValid() { var act = Assert.Throws <BadRequestException>(() => MongoEntity.ValidateAndParseObjId("AnyId")); var expect = new { statusCode = HttpStatusCode.BadRequest, message = "BadRequest id: AnyId is not valid" }; var obj1Str = JsonConvert.SerializeObject(expect); var obj2Str = JsonConvert.SerializeObject(act.HttpErrorResponse); Assert.Equal("BadRequest id: AnyId is not valid", act.Message); Assert.Equal(obj1Str, obj2Str); }
public async Task <ActionResult <IEnumerable <Product> > > GetById(string id) { try { var objId = MongoEntity.ValidateAndParseObjId(id); var product = await _repository.FindById(objId); return(Ok(product)); } catch (BadRequestException e) { return(BadRequest(e.HttpErrorResponse)); } catch (NotFoundException e) { return(NotFound(e.HttpErrorResponse)); } catch (Exception) { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } }
public async Task <ActionResult <Product> > Put(string id, [FromBody] ProductDTO dto) { try { var objId = MongoEntity.ValidateAndParseObjId(id); var product = new Product(objId, dto); var returnedProduct = await _repository.UpdateById(product); return(Ok(returnedProduct)); } catch (BadRequestException e) { return(BadRequest(e.HttpErrorResponse)); } catch (NotFoundException e) { return(NotFound(e.HttpErrorResponse)); } catch (Exception) { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } }
public void ConvertObjIdIfIsValid() { var act = MongoEntity.ValidateAndParseObjId(STR_ID); Assert.IsType <ObjectId>(act); }