public void _Call_CategoryService_GetCategoryByName( string userId, string title, string text, string coverPicture, CategoryEnum categoryEnum) { //Arrange var mockedPostRepository = new Mock <IRepository <Post> >(); var mockedUserService = new Mock <IUserService>(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedPostFactory = new Mock <IPostFactory>(); var mockedCategoryService = new Mock <ICategoryService>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var postService = new PostsService( mockedPostRepository.Object, mockedUserService.Object, mockedUnitOfWork.Object, mockedPostFactory.Object, mockedCategoryService.Object, mockedDateTimeProvider.Object); //Act postService.CreatePost(userId, title, text, coverPicture, categoryEnum); //Assert mockedCategoryService.Verify(c => c.GetCategoryByName(categoryEnum), Times.Once); }
public async Task WhenCreatePostGetsCalled() { Setup(); _post = new Fixture().Create <Post>(); await PostsService.CreatePost(_post); }
public void _Call_ReturnCorrect_Post_Commit( string userId, string title, string text, string coverPicture, CategoryEnum categoryEnum) { //Arrange var user = new User(); var date = new DateTime(); var category = new Category(); var Post = new Post(); var mockedPostRepository = new Mock <IRepository <Post> >(); var mockedUserService = new Mock <IUserService>(); mockedUserService.Setup(m => m.GetUserById(It.IsAny <string>())).Returns(user); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedPostFactory = new Mock <IPostFactory>(); mockedPostFactory.Setup(f => f.CreatePost(title, text, coverPicture, user, category, date)).Returns(Post); var mockedCategoryService = new Mock <ICategoryService>(); mockedCategoryService.Setup(c => c.GetCategoryByName(categoryEnum)).Returns(category); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); mockedDateTimeProvider.Setup(d => d.GetCurrentDate()).Returns(date); var postService = new PostsService( mockedPostRepository.Object, mockedUserService.Object, mockedUnitOfWork.Object, mockedPostFactory.Object, mockedCategoryService.Object, mockedDateTimeProvider.Object); //Act var postRes = postService.CreatePost(userId, title, text, coverPicture, categoryEnum); //Assert Assert.AreSame(Post, postRes); }
public async Task GetPostsShouldReturnPosts() { var dbOptions = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase("test"); var context = new ApplicationDbContext(dbOptions.Options); var postsService = new PostsService(context, null); var school = new School(); var user = new ApplicationUser(); await context.Schools.AddAsync(school); await context.Users.AddAsync(user); await postsService.CreatePost("Content", user, school.Id); var posts = postsService.GetPosts(school.Id, 0); Assert.That(posts.Count > 0); }
public IActionResult Create([FromServices] PostsService postsService) { var createPostRequest = JsonConvert.DeserializeObject <CreatePostRequest>(Request.Form["post"].ToString()); foreach (var formFile in Request.Form.Files.GetFiles("photo")) { using (var stream = formFile.OpenReadStream()) { using (var ms = new MemoryStream()) { stream.CopyTo(ms); createPostRequest.Photos.Add(ms.ToArray()); } } } var createPostResponse = postsService.CreatePost(createPostRequest); return(Json(createPostResponse)); }
public async Task <ActionResult> Create(string boton, PostEditorViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } var createPostResult = await _postsServicio.CreatePost(viewModel.ToPostEditorDto()); if (createPostResult.IsFailure) { ModelState.AddModelError("*", createPostResult.Error); } if (boton.ToLower().Contains(@"exit")) { return(RedirectToAction("Index")); } return(RedirectToAction("Edit", new { viewModel.Id })); }
public async Task GetMaxPagesShouldReturnCorrectNumber() { var dbOptions = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase("test"); var context = new ApplicationDbContext(dbOptions.Options); var postsService = new PostsService(context, null); var school = new School(); var user = new ApplicationUser(); await context.Schools.AddAsync(school); await context.Users.AddAsync(user); await context.SaveChangesAsync(); await postsService.CreatePost("Content", user, school.Id); var maxPages = postsService.GetMaxPages(school.Id); Assert.That(maxPages == 1); }
public async Task GetPostShouldReturnTheCorrectPost() { var dbOptions = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase("test"); var context = new ApplicationDbContext(dbOptions.Options); var postsService = new PostsService(context, null); var school = new School(); var user = new ApplicationUser(); await context.Schools.AddAsync(school); await context.Users.AddAsync(user); await context.SaveChangesAsync(); await postsService.CreatePost("Content", user, school.Id); var post = context.Posts.FirstOrDefault(); var posts = postsService.GetPost(post.Id); Assert.That(posts != null); }
public async Task <IActionResult> Index(PostViewModel model) { if (model == null || string.IsNullOrWhiteSpace(model.Message)) { return(RedirectToAction("Index", "Home")); } if (string.IsNullOrWhiteSpace(model.Tags)) { model.Tags = string.Empty; } var post = new PostDto { PostId = Guid.NewGuid().ToString(), Message = model.Message, Tags = model.Tags.Split(' ', StringSplitOptions.RemoveEmptyEntries).ToList(), UserId = string.Empty }; await _postsService.CreatePost(post, Request.Cookies["token"]); return(RedirectToAction("Index", "Home")); }