public async Task ShouldGetVenueById() { CreateVenues(); VenueService venueService = new VenueService(_dbContext, _mainEventProvider); SecurityService securityService = new SecurityService(_dbContext, _userManager, _roleManager); VenueController venueController = new VenueController(venueService, securityService); SetUser(venueController, _createdUser2.Entity.Id); ActionResult <VenueVm> result1 = await venueController.GetVenueAsync(1); VenueVm returnedVenue1 = result1.Value; Assert.AreEqual(1, returnedVenue1.Id); Assert.AreEqual("Venue 1", returnedVenue1.Name); Assert.AreEqual("Venue gate 123", returnedVenue1.Address); Assert.AreEqual("1236", returnedVenue1.PostalCode); Assert.AreEqual("12345678", returnedVenue1.ContactPhone); Assert.AreEqual("*****@*****.**", returnedVenue1.ContactEMail); ActionResult <VenueVm> result2 = await venueController.GetVenueAsync(2); VenueVm returnedVenue2 = result2.Value; Assert.AreEqual(2, returnedVenue2.Id); Assert.AreEqual(_venueName2, returnedVenue2.Name); Assert.AreEqual(_venueAddress2, returnedVenue2.Address); Assert.AreEqual(_postalCode2, returnedVenue2.PostalCode); Assert.AreEqual(_contactPhone2, returnedVenue2.ContactPhone); Assert.AreEqual(_contactEMail2, returnedVenue2.ContactEMail); }
public async Task ShouldUpdateVenue() { string newVenueName = "Venue name "; string newVenueAddress = "Testing gate 216"; VenueService venueService = new VenueService(_dbContext, _mainEventProvider); SecurityService securityService = new SecurityService(_dbContext, _userManager, _roleManager); VenueController venueController = new VenueController(venueService, securityService); CreateUser(); CreateVenues(); SetUser(venueController, _createdUser.Entity.Id); VenueVm venueVm = new VenueVm { Id = 2, Name = newVenueName, Address = newVenueAddress, PostalCode = _postalCode2, ContactEMail = _contactEMail2, ContactPhone = _contactPhone2, OrganizerId = 2 }; await venueController.UpdateVenueAsync(venueVm); // Check that only one has been changed Venue venue2 = _dbContext.Venues.Find(2); Assert.AreEqual(newVenueName, venue2.Name); Assert.AreEqual(newVenueAddress, venue2.Address); }
public async Task Delete_Get_IdNull_ReturnsNotFound() { var controller = new VenueController(null); var result = await controller.Delete(null); Assert.IsType <NotFoundResult>(result); }
public async void BulkInsert_No_Errors() { VenueControllerMockFacade mock = new VenueControllerMockFacade(); var mockResponse = ValidationResponseFactory <ApiVenueServerResponseModel> .CreateResponse(null as ApiVenueServerResponseModel); mockResponse.SetRecord(new ApiVenueServerResponseModel()); mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiVenueServerRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiVenueServerResponseModel> >(mockResponse)); VenueController controller = new VenueController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); var records = new List <ApiVenueServerRequestModel>(); records.Add(new ApiVenueServerRequestModel()); IActionResult response = await controller.BulkInsert(records); response.Should().BeOfType <OkObjectResult>(); (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK); var result = (response as OkObjectResult).Value as CreateResponse <List <ApiVenueServerResponseModel> >; result.Success.Should().BeTrue(); result.Record.Should().NotBeEmpty(); mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiVenueServerRequestModel>())); }
public async void Patch_No_Errors() { VenueControllerMockFacade mock = new VenueControllerMockFacade(); var mockResult = new Mock <UpdateResponse <ApiVenueServerResponseModel> >(); mockResult.SetupGet(x => x.Success).Returns(true); mock.ServiceMock.Setup(x => x.Update(It.IsAny <int>(), It.IsAny <ApiVenueServerRequestModel>())) .Callback <int, ApiVenueServerRequestModel>( (id, model) => model.Address1.Should().Be("A") ) .Returns(Task.FromResult <UpdateResponse <ApiVenueServerResponseModel> >(mockResult.Object)); mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiVenueServerResponseModel>(new ApiVenueServerResponseModel())); VenueController controller = new VenueController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, new ApiVenueServerModelMapper()); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); var patch = new JsonPatchDocument <ApiVenueServerRequestModel>(); patch.Replace(x => x.Address1, "A"); IActionResult response = await controller.Patch(default(int), patch); response.Should().BeOfType <OkObjectResult>(); (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK); mock.ServiceMock.Verify(x => x.Update(It.IsAny <int>(), It.IsAny <ApiVenueServerRequestModel>())); }
public async Task Edit_Get_IDIsNull_ReturnsNotFound() { var controller = new VenueController(null); var result = await controller.Edit(null); Assert.IsType <NotFoundResult>(result); }
public async Task ShouldCreateVenue() { string venueName3 = "Venue name 3"; string venueAddress3 = "Testing gate 215"; VenueService venueService = new VenueService(_dbContext, _mainEventProvider); SecurityService securityService = new SecurityService(_dbContext, _userManager, _roleManager); VenueController venueController = new VenueController(venueService, securityService); CreateUser(); CreateVenues(); SetUser(venueController, _createdUser2.Entity.Id); VenueVm venueVm = new VenueVm { Name = venueName3, Address = venueAddress3, PostalCode = "0258", ContactEMail = "*****@*****.**", ContactPhone = "1234578", OrganizerId = 2 }; await venueController.CreateVenueAsync(venueVm); ActionResult <List <VenueListVm> > result = await venueController.GetVenuesAsync(); List <VenueListVm> venues = (List <VenueListVm>)((OkObjectResult)result.Result).Value; Venue createdVenue = _dbContext.Venues.Find(3); Assert.AreEqual(3, venues.Count); Assert.That(venues, Has.Exactly(1).Matches <VenueListVm>(venue => venue.Id == createdVenue.Id && venue.Name == createdVenue.Name && venue.Address == createdVenue.Address )); }
public async Task Edit_Post_IdsNotEqual_ReturnsNotFound() { var testVenue = GetTestVenues()[0]; var controller = new VenueController(null); var result = await controller.Edit(testVenue.ID + 1, testVenue); Assert.IsType <NotFoundResult>(result); }
public FunctionalTestExample() { var startup = new TestStartup(); var host = new HostBuilder() .ConfigureWebJobs(startup.Configure) .Build(); controller = new VenueController(host.Services.GetRequiredService <IMediator>()); }
public void Create_Get_ReturnsViewResultWithNoModel() { var controller = new VenueController(null); var result = controller.Create(); var viewResult = Assert.IsType <ViewResult>(result); Assert.Null(viewResult.ViewData.Model); }
public async Task Edit_Get_VenueIsNull_ReturnsNotFound() { var mockRepo = new Mock <IVenueRepository>(); mockRepo.Setup(repo => repo.GetVenueAsync(It.IsAny <int>())) .ReturnsAsync(GetTestVenues().Where(v => v.ID == -1).FirstOrDefault()); var controller = new VenueController(mockRepo.Object); var result = await controller.Edit(It.IsAny <int>()); Assert.IsType <NotFoundResult>(result); }
public async Task ShouldNotGetVenueWithoutPermissions() { VenueService venueService = new VenueService(_dbContext, _mainEventProvider); SecurityService securityService = new SecurityService(_dbContext, _userManager, _roleManager); VenueController venueController = new VenueController(venueService, securityService); SetUser(venueController, _createdUser2.Entity.Id); ActionResult <VenueVm> result = await venueController.GetVenueAsync(1); Assert.IsTrue(result.Result is ForbidResult); }
public async Task Delete_Get_Venue_ReturnsViewWithVenue() { var mockRepo = new Mock <IVenueRepository>(); mockRepo.Setup(repo => repo.GetVenueAsync(It.IsAny <int>())) .ReturnsAsync(GetTestVenues()[0]); var controller = new VenueController(mockRepo.Object); var result = await controller.Delete(It.IsAny <int>()); var viewResult = Assert.IsType <ViewResult>(result); Assert.IsAssignableFrom <Venue>(viewResult.ViewData.Model); }
public async Task Create_Post_Unsuccessful_ReturnsViewResult_WithVenue() { var controller = new VenueController(null); controller.ModelState.AddModelError("Name", "Required"); var mockVenue = new Venue(); var result = await controller.Create(mockVenue); var viewResult = Assert.IsType <ViewResult>(result); Assert.IsAssignableFrom <Venue>(viewResult.ViewData.Model); }
public async Task Edit_Post_InvalidModelState_ReturnsViewWithModel() { var controller = new VenueController(null); controller.ModelState.AddModelError("Name", "Required"); var mockVenue = new Venue(); var result = await controller.Edit(0, mockVenue); var viewResult = Assert.IsType <ViewResult>(result); Assert.IsAssignableFrom <Venue>(viewResult.ViewData.Model); }
public async Task DeleteConfirmed_ReturnsRedirectToAction() { var mockRepo = new Mock <IVenueRepository>(); mockRepo.Setup(repo => repo.GetVenueAsync(It.IsAny <int>())) .ReturnsAsync(GetTestVenues()[0]); var controller = new VenueController(mockRepo.Object); var result = await controller.DeleteConfirmed(It.IsAny <int>()); var redirectToResult = Assert.IsType <RedirectToActionResult>(result); Assert.Null(redirectToResult.ControllerName); Assert.Equal("index", redirectToResult.ActionName); }
public async Task Edit_Post_ValidModelState_ReturnsRedirectToActionResult() { var testVenue = GetTestVenues()[0]; var mockRepo = new Mock <IVenueRepository>(); mockRepo.Setup(repo => repo.Update(testVenue)) .ReturnsAsync(testVenue); var controller = new VenueController(mockRepo.Object); var result = await controller.Edit(testVenue.ID, testVenue); var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Null(redirectToActionResult.ControllerName); Assert.Equal("details", redirectToActionResult.ActionName); }
public async Task Index_Get_ReturnsViewResult_WithAListOfVenues() { var mockRepo = new Mock <IVenueRepository>(); mockRepo.Setup(repo => repo.GetVenuesAsync()) .ReturnsAsync(GetTestVenues()); var controller = new VenueController(mockRepo.Object); var result = await controller.Index(); var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <Venue> >(viewResult.ViewData.Model); Assert.Equal(2, model.Count()); }
public void testgetclient() { var context = CreateContext.getNewContext("TestingDB"); var repo = new ClientRepo(context); var VC = new VenueController(repo); IEnumerable <Clients> Result = VC.Get(); string[] names = { "Alabama Coffee", "Brad's Bistro" }; int count = 0; foreach (Clients c in Result) { Assert.Equal(c.ClientName, names[count]); count++; } }
public async void Get_Not_Exists() { VenueControllerMockFacade mock = new VenueControllerMockFacade(); mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiVenueServerResponseModel>(null)); VenueController controller = new VenueController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); IActionResult response = await controller.Get(default(int)); response.Should().BeOfType <StatusCodeResult>(); (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound); mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>())); }
public async Task Create_Post_Successful_ReturnsRedirectToAction() { var mockRepo = new Mock <IVenueRepository>(); mockRepo.Setup(repo => repo.Create(GetTestVenues()[0])) .ReturnsAsync(GetTestVenues()[0]); var controller = new VenueController(mockRepo.Object); var mockVenue = GetTestVenues()[0]; var result = await controller.Create(mockVenue); var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Null(redirectToActionResult.ControllerName); Assert.Equal("index", redirectToActionResult.ActionName); }
public void ShouldNotGetVenueWithInvalidId() { VenueService venueService = new VenueService(_dbContext, _mainEventProvider); SecurityService securityService = new SecurityService(_dbContext, _userManager, _roleManager); VenueController venueController = new VenueController(venueService, securityService); SetUser(venueController, _createdUser2.Entity.Id); CreateVenues(); var ex = Assert.ThrowsAsync <HttpException>(async() => { ActionResult <VenueVm> result = await venueController.GetVenueAsync(-1); }); Assert.AreEqual("Ugyldig Id", ex.Message); }
public async void Delete_Errors() { VenueControllerMockFacade mock = new VenueControllerMockFacade(); var mockResult = new Mock <ActionResponse>(); mockResult.SetupGet(x => x.Success).Returns(false); mock.ServiceMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.FromResult <ActionResponse>(mockResult.Object)); VenueController controller = new VenueController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); IActionResult response = await controller.Delete(default(int)); response.Should().BeOfType <ObjectResult>(); (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity); mock.ServiceMock.Verify(x => x.Delete(It.IsAny <int>())); }
public async Task ShouldGetOrganizerVenues() { CreateVenues(); VenueService venueService = new VenueService(_dbContext, _mainEventProvider); SecurityService securityService = new SecurityService(_dbContext, _userManager, _roleManager); VenueController venueController = new VenueController(venueService, securityService); SetUser(venueController, _createdUser2.Entity.Id); ActionResult <List <VenueListVm> > resultAr = await venueController.GetOrganizerVenuesAsync(); List <VenueListVm> result = resultAr.Value; Assert.AreEqual(1, result.Count); Assert.AreEqual(1, result[0].Id); Assert.AreEqual("Venue 1", result[0].Name); }
public async void All_Not_Exists() { VenueControllerMockFacade mock = new VenueControllerMockFacade(); mock.ServiceMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())).Returns(Task.FromResult <List <ApiVenueServerResponseModel> >(new List <ApiVenueServerResponseModel>())); VenueController controller = new VenueController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); IActionResult response = await controller.All(1000, 0, string.Empty); response.Should().BeOfType <OkObjectResult>(); (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK); var items = (response as OkObjectResult).Value as List <ApiVenueServerResponseModel>; items.Should().BeEmpty(); mock.ServiceMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())); }
public async void Update_NotFound() { VenueControllerMockFacade mock = new VenueControllerMockFacade(); var mockResult = new Mock <UpdateResponse <ApiVenueServerResponseModel> >(); mockResult.SetupGet(x => x.Success).Returns(false); mock.ServiceMock.Setup(x => x.Update(It.IsAny <int>(), It.IsAny <ApiVenueServerRequestModel>())).Returns(Task.FromResult <UpdateResponse <ApiVenueServerResponseModel> >(mockResult.Object)); mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiVenueServerResponseModel>(null)); VenueController controller = new VenueController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, new ApiVenueServerModelMapper()); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); IActionResult response = await controller.Update(default(int), new ApiVenueServerRequestModel()); response.Should().BeOfType <StatusCodeResult>(); (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound); mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>())); }
public async Task ShouldGetVenues() { CreateVenues(); VenueService venueService = new VenueService(_dbContext, _mainEventProvider); SecurityService securityService = new SecurityService(_dbContext, _userManager, _roleManager); VenueController venueController = new VenueController(venueService, securityService); ActionResult <List <VenueListVm> > result = await venueController.GetVenuesAsync(); List <VenueListVm> venues = (List <VenueListVm>)((OkObjectResult)result.Result).Value; Assert.AreEqual(2, venues.Count); Assert.AreEqual(1, venues[0].Id); Assert.AreEqual("Venue 1", venues[0].Name); Assert.AreEqual("Venue gate 123", venues[0].Address); Assert.AreEqual(2, venues[1].Id); Assert.AreEqual(_venueName2, venues[1].Name); Assert.AreEqual(_venueAddress2, venues[1].Address); }
public async void Patch_Record_Not_Found() { VenueControllerMockFacade mock = new VenueControllerMockFacade(); var mockResult = new Mock <ActionResponse>(); mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiVenueServerResponseModel>(null)); VenueController controller = new VenueController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); var patch = new JsonPatchDocument <ApiVenueServerRequestModel>(); patch.Replace(x => x.Address1, "A"); IActionResult response = await controller.Patch(default(int), patch); response.Should().BeOfType <StatusCodeResult>(); (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound); mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>())); }
public async void Create_No_Errors() { VenueControllerMockFacade mock = new VenueControllerMockFacade(); var mockResponse = new CreateResponse <ApiVenueResponseModel>(new FluentValidation.Results.ValidationResult()); mockResponse.SetRecord(new ApiVenueResponseModel()); mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiVenueRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiVenueResponseModel> >(mockResponse)); VenueController controller = new VenueController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); IActionResult response = await controller.Create(new ApiVenueRequestModel()); response.Should().BeOfType <CreatedResult>(); (response as CreatedResult).StatusCode.Should().Be((int)HttpStatusCode.Created); var createResponse = (response as CreatedResult).Value as CreateResponse <ApiVenueResponseModel>; createResponse.Record.Should().NotBeNull(); mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiVenueRequestModel>())); }
public async void BulkInsert_Errors() { VenueControllerMockFacade mock = new VenueControllerMockFacade(); var mockResponse = new Mock <CreateResponse <ApiVenueServerResponseModel> >(null as ApiVenueServerResponseModel); mockResponse.SetupGet(x => x.Success).Returns(false); mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiVenueServerRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiVenueServerResponseModel> >(mockResponse.Object)); VenueController controller = new VenueController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); var records = new List <ApiVenueServerRequestModel>(); records.Add(new ApiVenueServerRequestModel()); IActionResult response = await controller.BulkInsert(records); response.Should().BeOfType <ObjectResult>(); (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity); mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiVenueServerRequestModel>())); }