public BlogsController(IBloggingRepository repo, ILogger <BlogsController> logger, IConfiguration configuration, IDataProtectionProvider protectionProvider) { _repo = repo; _logger = logger; _configuration = configuration; _protector = protectionProvider.CreateProtector(typeof(DecoratedBlog).FullName); }
public async Task InvalidDelete() { // Arrange Moq.Mock <IBloggingRepository> mock = MockBloggingRepository(); IBloggingRepository repository = mock.Object; var logger = LoggerFactory.CreateLogger <BlogsController>(); //1st add one object await repository.AddAsync(new Blog { BlogId = 99999, Post = null, Url = "http://www.99999.com", }); await repository.SaveAsync(); using (IBlogsController controller = new BlogsController(repository, logger, Configuration, DataProtectionProvider)) { var model = new DecoratedBlog { BlogId = 99999, Post = null, Url = "bad_url_but_no_matter", ProtectedID = "giberish" }; // Act var result = await controller.BlogAction(model, true, BlogActionEnum.Delete); // Assert Assert.IsType <NotFoundResult>(result); Assert.Equal(404, ((NotFoundResult)result).StatusCode); } }
public async Task InvalidCreate() { // Arrange Moq.Mock <IBloggingRepository> mock = MockBloggingRepository(); IBloggingRepository repository = mock.Object; var logger = LoggerFactory.CreateLogger <BlogsController>(); using (IBlogsController controller = new BlogsController(repository, logger, Configuration, DataProtectionProvider)) { // Act ((Controller)controller).ModelState.AddModelError(nameof(Blog.Url), "bad url"); var model = new Blog { BlogId = 2, Post = null, Url = "bad_url_is_bad" }; var result = await controller.Create(model); // Assert Assert.NotNull(result); Assert.IsNotType <RedirectResult>(result); Assert.IsType <ViewResult>(result); Assert.NotNull(((ViewResult)result).Model); Assert.Same(model, ((ViewResult)result).Model); } }
public async Task Index_GetAll() { // Arrange Moq.Mock <IBloggingRepository> mock = MockBloggingRepository(); IBloggingRepository repository = mock.Object; var logger = LoggerFactory.CreateLogger <BlogsController>(); using (IBlogsController controller = new BlogsController(repository, logger, Configuration, DataProtectionProvider)) { // Act var result = await controller.Index(); // Assert Assert.NotNull(result); Assert.IsType <ViewResult>(result); Assert.IsAssignableFrom <IEnumerable <DecoratedBlog> >(((ViewResult)result).Model); Assert.NotEmpty(((IEnumerable <DecoratedBlog>)((ViewResult)result).Model)); Assert.Equal(1, ((IEnumerable <DecoratedBlog>)((ViewResult)result).Model).First().BlogId); Assert.Equal("http://www.some-url.com", ((IEnumerable <DecoratedBlog>)((ViewResult)result).Model).First().Url); } }
public async Task InvalidEdit() { // Arrange Moq.Mock <IBloggingRepository> mock = MockBloggingRepository(); IBloggingRepository repository = mock.Object; var logger = LoggerFactory.CreateLogger <BlogsController>(); //1st add one object await repository.AddAsync(new Blog { BlogId = -99999, Post = null, Url = "http://www.999999.com", }); await repository.SaveAsync(); using (IBlogsController controller = new BlogsController(repository, logger, Configuration, DataProtectionProvider)) { var model = new DecoratedBlog { BlogId = -99999, Post = null, Url = "http://www.minus999999.com", ProtectedID = "giberish" }; // Act ((Controller)controller).ModelState.AddModelError(nameof(Blog.Url), "bad id"); var result = await controller.BlogAction(model, true, BlogActionEnum.Edit); // Assert Assert.IsType <JsonResult>(result); Assert.IsType <string>(((JsonResult)result).Value); Assert.Equal("error", ((JsonResult)result).Value.ToString()); } }
public async Task Edit() { // Arrange Moq.Mock <IBloggingRepository> mock = MockBloggingRepository(); IBloggingRepository repository = mock.Object; var logger = LoggerFactory.CreateLogger <BlogsController>(); //1st add one object await repository.AddAsync(new Blog { BlogId = 2, Post = null, Url = "http://www.internet.com", }); await repository.SaveAsync(); using (IBlogsController controller = new BlogsController(repository, logger, Configuration, DataProtectionProvider)) { var model = new DecoratedBlog { BlogId = 2, Post = null, Url = "http://www.changed-internet.com", ProtectedID = "giberish" }; // Act var result = await controller.BlogAction(model, true, BlogActionEnum.Edit); // Assert Assert.IsType <JsonResult>(result); Assert.IsType <Blog>(((JsonResult)result).Value); Assert.Equal(2, ((Blog)((JsonResult)result).Value).BlogId); Assert.Contains("changed", ((Blog)((JsonResult)result).Value).Url); } }
public async Task Create() { // Arrange Moq.Mock <IBloggingRepository> mock = MockBloggingRepository(); IBloggingRepository repository = mock.Object; var logger = LoggerFactory.CreateLogger <BlogsController>(); using (IBlogsController controller = new BlogsController(repository, logger, Configuration, DataProtectionProvider)) { // Act var result = controller.Create(); // Assert Assert.NotNull(result); Assert.IsType <ViewResult>(result); Assert.Null(((ViewResult)result).Model); } using (IBlogsController controller = new BlogsController(repository, logger, Configuration, DataProtectionProvider)) { // Act var result = await controller.Create(new Blog { BlogId = 2, Post = null, Url = "http://www.internet.com" }); // Assert Assert.NotNull(result); Assert.IsType <RedirectResult>(result); Assert.Equal($"{Configuration["AppRootPath"]}{BlogsController.ASPX}", ((RedirectResult)result).Url); } }
public async Task Delete() { // Arrange Moq.Mock <IBloggingRepository> mock = MockBloggingRepository(); IBloggingRepository repository = mock.Object; var logger = LoggerFactory.CreateLogger <BlogsController>(); //1st add one object await repository.AddAsync(new Blog { BlogId = 2, Post = null, Url = "http://www.internet.com", }); await repository.SaveAsync(); using (IBlogsController controller = new BlogsController(repository, logger, Configuration, DataProtectionProvider)) { var model = new DecoratedBlog { BlogId = 2, Post = null, Url = "bad_url_but_no_matter", ProtectedID = "giberish" }; // Act var result = await controller.ItemAction(model, true, BlogActionEnum.Delete); // Assert Assert.IsType <JsonResult>(result); Assert.IsType <string>(((JsonResult)result).Value); Assert.Equal("deleted", ((JsonResult)result).Value.ToString()); } }
public HomeController(IBloggingRepository repo) => repository = repo;
public CategoryRepository(DataContext context, IBloggingRepository bloggingRepository) { _context = context; _bloggingRepo = bloggingRepository; }
public BloggingService(IBloggingRepository bloggingRepository) { _bloggingRepository = bloggingRepository; }
public BlogController(IBloggingRepository bloggingRepository) { _bloggingRepository = bloggingRepository; }
public BlogController(IBloggingRepository repository, ILogger <BlogController> logger) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _repository = repository ?? throw new ArgumentNullException(nameof(repository)); }