示例#1
0
        public async Task CreateAnnouncementShouldReturnFalseIfAnnouncementWithSameTitleAndContentAlreadyExists()
        {
            var input = new CreateAnnouncementInputModel
            {
                Creator             = "creator1",
                Title               = "title1",
                Content             = "content1",
                ImageLink           = "image1",
                OfficialArticleLink = "article1",
            };

            await dbContext.Announcements.AddAsync(new Announcement
            {
                Creator             = "creator1",
                Title               = "title1",
                Content             = "content1",
                ImageLink           = "image1",
                OfficialArticleLink = "article1",
                Date = DateTime.UtcNow,
            });

            await dbContext.SaveChangesAsync();

            var announcementService = new AnnouncementService(dbContext, mapper);

            Assert.False(await announcementService.CreateAnnouncementAsync(input));
            Assert.True(dbContext.Announcements.Count() == 1);
        }
        public async Task <IActionResult> Create(CreateAnnouncementInputModel input)
        {
            if (!ModelState.IsValid)
            {
                return(View(input));
            }

            if (!await announcementService.CreateAnnouncementAsync(input))
            {
                return(View(input));
            }

            return(Redirect(redirectAnnuncementsAllAndOrder));
        }
示例#3
0
        public async Task <bool> CreateAnnouncementAsync(CreateAnnouncementInputModel input)
        {
            if (await dbContext.Announcements.AnyAsync(announcement => announcement.Title == input.Title && announcement.Content == input.Content))
            {
                return(false);
            }

            var announcementFromDb = mapper.Map <CreateAnnouncementInputModel, Announcement>(input);

            await dbContext.Announcements.AddAsync(announcementFromDb);

            await dbContext.SaveChangesAsync();

            return(true);
        }
示例#4
0
        public async Task CreateAnnouncementShouldSetImageLinkIfNoneIsProvided(string imageLink)
        {
            var input = new CreateAnnouncementInputModel
            {
                Creator             = "creator1",
                Title               = "title1",
                Content             = "content1",
                ImageLink           = imageLink,
                OfficialArticleLink = "article1",
            };

            var announcementService = new AnnouncementService(dbContext, mapper);

            Assert.True(await announcementService.CreateAnnouncementAsync(input));
            Assert.True(dbContext.Announcements.Count() == 1);
            Assert.True(dbContext.Announcements.First().ImageLink == GlobalConstants.noImageLink);
        }
示例#5
0
        public async Task CreateAnnouncementShouldAddAnnouncementToDbIfInputIsValid()
        {
            var input = new CreateAnnouncementInputModel
            {
                Creator             = "creator1",
                Title               = "title1",
                Content             = "content1",
                ImageLink           = "image1",
                OfficialArticleLink = "article1",
            };

            var announcementService = new AnnouncementService(dbContext, mapper);

            Assert.True(await announcementService.CreateAnnouncementAsync(input));
            Assert.True(dbContext.Announcements.Count() == 1);
            Assert.True(dbContext.Announcements.First().Date != null);
        }