public async Task Delete_given_id_deletes_wine() { var repository = new Mock <IWineRepository>(); var controller = new WinesController(repository.Object); await controller.Delete(42); repository.Verify(s => s.DeleteAsync(42)); }
public async Task Delete_given_repository_returns_false_returns_NotFound() { var repository = new Mock <IWineRepository>(); var controller = new WinesController(repository.Object); var delete = await controller.Delete(42); Assert.IsType <NotFoundResult>(delete); }
public async Task Delete_given_valid_returns_NoContent() { var repository = new Mock <IWineRepository>(); repository.Setup(s => s.DeleteAsync(42)).ReturnsAsync(true); var controller = new WinesController(repository.Object); var delete = await controller.Delete(42); Assert.IsType <NoContentResult>(delete); }
public async Task Get_given_non_existing_returns_NotFound() { var repo = new Mock <IWineRepository>(); var controller = new WinesController(repo.Object); var get = await controller.Get(42); var res = get.Result; Assert.IsType <NotFoundResult>(res); }
public async Task Post_given_valid_dto_returns_CreatedAtAction() { var dto = new WineDTO(); var repo = new Mock <IWineRepository>(); repo.Setup(s => s.CreateAsync(It.IsAny <WineDTO>())).ReturnsAsync(1); var controller = new WinesController(repo.Object); var post = await controller.Post(dto); Assert.IsType <CreatedAtActionResult>(post.Result); }
public async Task Get_existing_id_returns_dto() { var dto = new WineDTO(); var repo = new Mock <IWineRepository>(); repo.Setup(s => s.FindAsync(42)).ReturnsAsync(dto); var controller = new WinesController(repo.Object); var get = await controller.Get(42); Assert.Equal(dto, get.Value); }
public async Task Put_given_repository_returns_false_returns_NotFound() { var repository = new Mock <IWineRepository>(); var controller = new WinesController(repository.Object); var dto = new WineDTO(); var put = await controller.Put(42, dto); Assert.IsType <NotFoundResult>(put); }
public async Task Put_returns_NoContent() { var dto = new WineDTO(); var repository = new Mock <IWineRepository>(); repository.Setup(s => s.UpdateAsync(dto)).ReturnsAsync(true); var controller = new WinesController(repository.Object); var put = await controller.Put(42, dto); Assert.IsType <NoContentResult>(put); }
public async Task Put_given_dto_updates_wine() { var repository = new Mock <IWineRepository>(); var controller = new WinesController(repository.Object); var dto = new WineDTO(); await controller.Put(42, dto); repository.Verify(s => s.UpdateAsync(dto)); }
public async Task GetWines_returns_all() { IList <WineDTO> dtos = new List <WineDTO>() { new WineDTO() }; var repo = new Mock <IWineRepository>(); repo.Setup(s => s.ReadAsync()).ReturnsAsync(dtos); var controller = new WinesController(repo.Object); var get = await controller.Get(); }
static Server() { string dbUrl = Node.Process.Arguments[2]; if (String.IsNullOrEmpty(dbUrl)) { Debug.WriteLine("Usage: node cellar.server.js <database url>"); Debug.WriteLine("Format of database url:"); Debug.WriteLine(" mongodb://user:password@host:port/database"); Debug.WriteLine(String.Empty); return; } CellarApplication cellarApplication = new CellarApplication(); cellarApplication.Initialize(dbUrl, delegate(Exception initializationError) { if (initializationError != null) { Debug.WriteLine(initializationError.ToString()); return; } Debug.WriteLine("Starting web application on port 8080..."); string path = (string)Script.Literal("__dirname"); ExpressApplication app = Express.Application(); app.Use(Express.Static(path + "\\Content")); app.Get("/wines/:id", delegate(ExpressServerRequest request, ExpressServerResponse response) { WinesController controller = cellarApplication.CreateWinesController(); controller.LookupWine(request, response); }) .Get("/wines", delegate(ExpressServerRequest request, ExpressServerResponse response) { WinesController controller = cellarApplication.CreateWinesController(); controller.QueryWines(request, response); }); app.Listen(8080); }); }