public void DeleteAnnouncement_Should_Success() { var author = new BookCreatorUser() { UserName = "******", Name = "Goshko Petkov" }; var announcementInput = new AnnouncementInputModel() { Content = "newnew", Author = author.UserName }; var newAnnouncementId = this.adminService.AddAnnouncement(announcementInput); var announcement = this.Context.Announcements.Find(newAnnouncementId); this.adminService.DeleteAnnouncement(newAnnouncementId); var result = this.Context.Announcements.ToList(); result.Should().BeEmpty() .And.Subject.Should().NotContain(announcement); }
public async Task <IActionResult> Update(AnnouncementInputModel announcementInputModel, string id) { if (!this.ModelState.IsValid) { var categories = this.categoriesService.GetAll <AnnouncementCategoriesView>(); var currentAnnouncement = new AnnouncementViewModel() { Id = id, Title = announcementInputModel.Title, ServiceType = announcementInputModel.ServiceType, CategoryName = announcementInputModel.Category, Description = announcementInputModel.Description, Price = announcementInputModel.Price, Place = announcementInputModel.Place, }; var viewModel = new AnnouncementUpdateModel() { Categories = categories, Announcement = currentAnnouncement, }; return(this.View("GetUpdateView", viewModel)); } await this.announcementService.UpdateAsync(announcementInputModel, id); return(this.RedirectToAction("GetDetails", new { id = id })); }
public void AddAnnouncement_Should_Success() { var user = new BookCreatorUser() { UserName = "******", Name = "Goshko Petkov" }; var announcements = new[] { new Announcement { Id = "2", Content = "content1", AuthorId = user.Id, PublishedOn = DateTime.UtcNow }, new Announcement { Id = "3", Content = "content2", AuthorId = user.Id, PublishedOn = DateTime.UtcNow.AddHours(2) }, new Announcement { Id = "4", Content = "content3", AuthorId = user.Id, PublishedOn = DateTime.UtcNow.AddHours(7) }, }; this.userManager.CreateAsync(user).GetAwaiter(); this.Context.Announcements.AddRange(announcements); this.Context.SaveChanges(); var newAnnouncement = new AnnouncementInputModel { Author = user.UserName, Content = "new" }; var newAnnouncementId = this.adminService.AddAnnouncement(newAnnouncement); var announcementCompareTo = new Announcement() { Id = newAnnouncementId, AuthorId = user.Id, Author = user, Content = newAnnouncement.Content, PublishedOn = DateTime.UtcNow }; var result = this.Context.Announcements.Find(newAnnouncementId); result.Should().NotBeNull() .And.BeEquivalentTo(announcementCompareTo, options => options.Excluding(x => x.PublishedOn)); }
public IActionResult GetCreateView(AnnouncementInputModel announcementInputModel) { var categories = this.categoriesService.GetAll <AnnouncementCategoriesView>(); var createModel = new CreateModel() { Categories = categories, Announcement = announcementInputModel, }; return(this.View(createModel)); }
public IActionResult AllAnnouncements(AnnouncementInputModel inputModel) { if (ModelState.IsValid) { this.AdminService.AddAnnouncement(inputModel); return(RedirectToAction(nameof(AllAnnouncements))); } this.ViewData[GlobalConstants.Error] = GlobalConstants.TooShortAnnouncement; return(RedirectToAction(nameof(AllAnnouncements))); }
public void AddAnnouncement(AnnouncementInputModel inputModel) { var user = this.UserManager.FindByNameAsync(inputModel.Author).Result; var announce = Mapper.Map <Announcement>(inputModel); announce.Author = user; this.Context.Announcements.Add(announce); this.Context.SaveChanges(); }
public async Task <string> UpdateAsync(AnnouncementInputModel announcementInputModel, string id) { var announcement = this.announcementRepository.All().FirstOrDefault(x => x.Id == id); announcement.Title = announcementInputModel.Title; announcement.Description = announcementInputModel.Description; announcement.Place = announcementInputModel.Place; announcement.ServiceType = announcementInputModel.ServiceType; announcement.CategoryId = int.Parse(announcementInputModel.Category); announcement.Price = announcementInputModel.Price; await this.announcementRepository.SaveChangesAsync(); return(announcement.Id); }
public async Task CreateAsyncAddAnnouncementCorrectly() { var announcement = new AnnouncementInputModel() { ServiceType = ServiceType.Предмет, Category = "1", Description = "test", Place = "test", Title = "test", UserId = "a", }; var service = new AnnouncementService(this.announcementRepository); await service.CreateAsync(announcement, "aa"); Assert.Equal(1, this.dbContext.Announcements.Count()); }
public async Task CreateAsyncAddAnnouncementReturnId() { var announcement = new AnnouncementInputModel() { ServiceType = ServiceType.Предмет, Category = "1", Description = "test", Place = "test", Title = "test", UserId = "a", }; var service = new AnnouncementService(this.announcementRepository); var expectedId = await service.CreateAsync(announcement, "aa"); var actualId = this.dbContext.Announcements.FirstOrDefault()?.Id; Assert.Equal(expectedId, actualId); }
public async Task <string> CreateAsync(AnnouncementInputModel announcementInputModel, string userId) { var announcement = new Announcement() { Title = announcementInputModel.Title, Description = announcementInputModel.Description, Place = announcementInputModel.Place, ServiceType = announcementInputModel.ServiceType, CategoryId = int.Parse(announcementInputModel.Category), UserId = userId, Price = announcementInputModel.Price, }; await this.announcementRepository.AddAsync(announcement); await this.announcementRepository.SaveChangesAsync(); return(announcement.Id); }
public async Task <IActionResult> Create(AnnouncementInputModel announcementInputModel) { if (!this.ModelState.IsValid) { var categories = this.categoriesService.GetAll <AnnouncementCategoriesView>(); var createModel = new CreateModel() { Categories = categories, Announcement = announcementInputModel, }; return(this.View("GetCreateView", createModel)); } var user = await this.userManager.GetUserAsync(this.User); var id = await this.announcementService.CreateAsync(announcementInputModel, user.Id); return(this.RedirectToAction("GetDetails", new { id = id })); }
public void Add_Announcement_Should_Add_Announcement() { //arrange var user = new FanFictionUser { Id = "userId", Nickname = "AnotherUser", UserName = "******", }; var announcements = new[] { new Announcement { Author = user, AuthorId = user.Id, Content = "SomeAnnouncement1", Id = 4, PublshedOn = DateTime.Now }, new Announcement { Author = user, AuthorId = user.Id, Content = "SomeAnnouncement2", Id = 2, PublshedOn = DateTime.Now }, new Announcement { Author = user, AuthorId = user.Id, Content = "SomeAnnouncement3", Id = 3, PublshedOn = DateTime.Now }, }; this.userManager.CreateAsync(user).GetAwaiter(); this.Context.Announcements.AddRange(announcements); this.Context.SaveChanges(); //act var newAnounce = new AnnouncementInputModel { Author = user.UserName, Content = "NewAnnouncement" }; this.adminService.AddAnnouncement(newAnounce); var modelCompare = new Announcement { Author = user, AuthorId = user.Id, Content = newAnounce.Content, Id = 1, PublshedOn = DateTime.Now }; //assert // again id to 1 because by default inmemory dont keep reference and add from 1! int id = 1; var anounce = this.Context.Announcements.Find(id); anounce.Should().NotBeNull().And.BeEquivalentTo(modelCompare, options => options.Excluding(x => x.PublshedOn)); }