public IHttpActionResult PostBox(BoxesModel box) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var dbBox = new Box(); dbBox.PawzeUser = _userRepository.GetFirstOrDefault(u => u.UserName == User.Identity.Name); dbBox.Update(box); foreach (var boxItem in dbBox.BoxItems) { boxItem.BoxItemPrice = _configRepository.GetAll().First().CurrentBoxItemPrice; } _boxRepository.Add(dbBox); _unitOfWork.Commit(); box.BoxId = dbBox.BoxId; return(CreatedAtRoute("DefaultApi", new { id = box.BoxId }, box)); }
public void Update(BoxesModel box) { BoxId = box.BoxId; SubscriptionId = box.SubscriptionId; PawzeUserId = box.PawzeUserId; if (BoxId == 0) { // IF IT'S NEW foreach (var boxItem in box.BoxItems) { var dbBoxItem = new BoxItem(); dbBoxItem.Update(boxItem); BoxItems.Add(dbBoxItem); } } else { // if it exists foreach (var modelBoxItem in box.BoxItems) { var databaseBoxItem = BoxItems.FirstOrDefault(bi => bi.BoxItemId == modelBoxItem.BoxItemId); databaseBoxItem.Update(modelBoxItem); } } }
public void PostBoxShouldReturnSingleBox() { //Arrange BoxesModel box = new BoxesModel { BoxId = 1, PawzeUserId = "test1", SubscriptionId = 1 }; //Act IHttpActionResult result = controller.PostBox(box); //Assert CreatedAtRouteNegotiatedContentResult <BoxesModel> okResult = (CreatedAtRouteNegotiatedContentResult <BoxesModel>)result; var actualBox = okResult.Content; // TODO: Cameron's last thought on testing // _boxRepository.Verify(e => e.) //Assert BoxesModel expected = new BoxesModel { BoxId = 1, PawzeUserId = "test1", SubscriptionId = 1 }; Assert.AreEqual(expected.BoxId, actualBox.BoxId); }
public void PutBoxTest() { //Arrange BoxesModel box = new BoxesModel() { BoxId = 1, PawzeUserId = "test1", SubscriptionId = 1 }; //Act //BoxesModel box = new BoxesModel(); box.BoxId = 1; box.PawzeUserId = "test1"; IHttpActionResult response = controller.PutBox(box.BoxId, box); StatusCodeResult statuscodeResult = response as StatusCodeResult; //Assert //Assert.IsNotNull(contentResult); //Assert.IsNotNull(contentResult.Content); //Assert.AreEqual(HttpStatusCode.NoContent, typeof(response.StatusCode)); //Assert.IsInstanceOfType(response, typeof()); //Assert.AreEqual<HttpStatusCode>(HttpStatusCode.NoContent, statusCodeResult.StatusCode); }
public void GetBoxByIdShouldReturnSingleBox() { // Arrange _boxRepository.Setup(b => b.GetFirstOrDefault(It.IsAny <Expression <Func <Box, bool> > >())) .Returns(new Box { BoxId = 1, PawzeUserId = "test1", SubscriptionId = 1 }); BoxesModel expectedBox = new BoxesModel { BoxId = 1, PawzeUserId = "test1", SubscriptionId = 1 }; // Act IHttpActionResult result = controller.GetBox(1); //Assert OkNegotiatedContentResult <BoxesModel> okResult = (OkNegotiatedContentResult <BoxesModel>)result; var actualBox = okResult.Content; Assert.IsTrue(actualBox.BoxId == expectedBox.BoxId); }
public IHttpActionResult PutBox(int id, BoxesModel box) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Box dbBox = _boxRepository.GetFirstOrDefault(b => b.PawzeUser.UserName == User.Identity.Name && b.BoxId == id); if (id != box.BoxId) { return(BadRequest()); } dbBox.Update(box); _boxRepository.Update(dbBox); try { _unitOfWork.Commit(); } catch (Exception) { if (!BoxExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public Box(BoxesModel box) { this.Update(box); }