public AddRestaurantTransaction CreateAddRestraurantTransaction(string name, int cuisineId) { var reqModel = new AddRestaurantRequestModel { Name = name, CuisineId = cuisineId, UserId = _identity.GetRequestingUserId() }; return(new AddRestaurantTransaction(_repo, _log, reqModel)); }
public void PostNewRestaurant_ValidInput_OkWithUrl() { //arrange var cuisineName = "Mexican"; var cuisineId = 10; var restName = "No1 Mexican Restaurant"; var expectedRestId = 155; var createdUser = 1; var cuisine = new Cuisine { Name = cuisineName, Id = cuisineId, CreatedBy = createdUser, UpdatedBy = createdUser }; var expectedResponse = new API.ViewModels.Restaurant { Id = expectedRestId, AverageRating = 0, CuisineName = cuisineName, CuisineId = cuisineId, Name = restName, ReviewCount = 0 }; var transactionRequest = new AddRestaurantRequestModel { CuisineId = cuisineId, Name = restName, UserId = createdUser }; MockRepository.Setup(m => m.AddRestaurentGetNewId(transactionRequest)).Returns(expectedRestId); MockRepository.Setup(m => m.GetCuisineById(It.IsAny <int>())).Returns(cuisine); MockIdentity.Setup(m => m.GetRequestingUserId()).Returns(createdUser); var ctrl = new RestaurantsController(MockRepository.Object, MockLogger.Object, MockIdentity.Object); //act var actionResult = ctrl.Post(new API.ViewModels.Restaurant { CuisineId = cuisineId, Name = restName }); var createdResult = actionResult as CreatedAtRouteNegotiatedContentResult <API.ViewModels.Restaurant>; //assert Assert.IsNotNull(createdResult, "created-201 status was not returned"); Assert.AreEqual("DefaultRouting", createdResult.RouteName); Assert.AreEqual(expectedRestId, createdResult.RouteValues["id"]); //validate response ValidateRestaurantResponse(createdResult.Content, expectedResponse); }
private int FakeAddRestaurant(AddRestaurantRequestModel r) { var cuisineRef = Cuisines[r.CuisineId - 1]; Restaurants.Add(new Restaurant { Id = Restaurants.Count + 1, Cuisine = cuisineRef, CreatedBy = r.UserId, UpdatedBy = r.UserId, Name = r.Name }); return(Restaurants.Count); }
public int AddRestaurentGetNewId(AddRestaurantRequestModel requestModel) { var cuisineRef = GetCuisineById(requestModel.CuisineId); Restaurants.Add(new Restaurant { Id = Restaurants.Count + 1, Cuisine = cuisineRef, CreatedBy = requestModel.UserId, UpdatedBy = requestModel.UserId, Name = requestModel.Name }); return(Restaurants.Count); }
public override bool Equals(object obj) { AddRestaurantRequestModel model = obj as AddRestaurantRequestModel; if (model == null) { return(false); } else { return(UserId.Equals(model.UserId) && Name.Equals(model.Name, System.StringComparison.CurrentCultureIgnoreCase) && CuisineId.Equals(model.CuisineId)); } }
public int AddRestaurentGetNewId(AddRestaurantRequestModel requestModel) { var newRestaurant = new Sql.Restaurant { Name = requestModel.Name, CuisineId = requestModel.CuisineId, CreatedBy = requestModel.UserId, UpdatedBy = requestModel.UserId, CreatedDate = DateTime.Now, UpdatedDate = DateTime.Now }; _restaurantDbContex.Restaurants.Add(newRestaurant); _restaurantDbContex.SaveChanges(); return(newRestaurant.Id); }
public void AddResturant_WithExistingNameSame_ResturantExistExceptionThrown() { Restaurants.Add(new Restaurant { Name = "Restaurant name one", CreatedBy = 100, UpdatedBy = 100, Cuisine = Cuisines[0], Id = 1 }); var reqData = new AddRestaurantRequestModel() { Name = "Restaurant name one", CuisineId = Cuisines[1].Id, UserId = 1 }; var sut = new AddRestaurantTransaction(Repo, Log, reqData); sut.Execute(); ExistingResturantAssert(sut); }
public void AddResturant_NewResturant_AddSucessfully() { //Assign var expectedName = "Restaurant name one"; var expectedCuisine = Cuisines[0].Id; var expectedCreatedById = 1; var expectedUpdatedById = expectedCreatedById; var expectedRestID = 1; var reqData = new AddRestaurantRequestModel() { Name = expectedName, CuisineId = expectedCuisine, UserId = expectedCreatedById }; var expectedSucessStatus = true; var expectedResponse = new AddRestaurantResponseModel() { WasSucessfull = expectedSucessStatus, RestaurantId = expectedRestID }; var sut = new AddRestaurantTransaction(Repo, Log, reqData); //act sut.Execute(); var actualResponse = sut.Response; //assert Assert.AreEqual(expectedSucessStatus, actualResponse.WasSucessfull, "Invalid execution status"); Assert.AreEqual(expectedResponse, actualResponse, "Invalid response"); Restaurant actualRest = Restaurants[expectedResponse.RestaurantId - 1]; Assert.AreEqual(expectedRestID, actualRest.Id, "Restaurant ID"); Assert.AreEqual(expectedName, actualRest.Name, "Restaurant name"); Assert.AreEqual(expectedCuisine, actualRest.Cuisine.Id, "Restaurant CuisineId"); Assert.AreEqual(expectedCreatedById, actualRest.CreatedBy, "Created by"); Assert.AreEqual(expectedUpdatedById, actualRest.UpdatedBy, "Updated by"); }