Beispiel #1
0
        public async void TestForCreateTeamArticle()
        {
            var options = new DbContextOptionsBuilder <NewsContext>()
                          .UseInMemoryDatabase(databaseName: "p3NewsService")
                          .Options;

            using (var context = new NewsContext(options))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();

                Repo           r              = new Repo(context, new NullLogger <Repo>());
                Logic          logic          = new Logic(r, new NullLogger <Repo>());
                NewsController newsController = new NewsController(logic);
                var            teamArticleDto = new TeamArticleDto()
                {
                    ArticleID = Guid.NewGuid(),
                    Title     = "free hotdogs",
                    Content   = "come today to get your hotdogs!",
                    Date      = DateTime.Now,
                    IsPinned  = true,
                    IsVisible = true,
                    TeamID    = Guid.NewGuid()
                };

                await newsController.CreateTeamArticle(teamArticleDto);

                Assert.NotNull(context.LeagueArticles);
            }
        }
Beispiel #2
0
        /// <summary>
        /// returns a list of teat articles that are pinned
        /// </summary>
        /// <returns></returns>
        public async Task <IEnumerable <TeamArticleDto> > GetPinnedTeamArticleDto(string token)
        {
            List <TeamArticle> pinnedTeamArticles = (List <TeamArticle>) await _repo.GetPinnedTeamArticles();

            List <TeamArticleDto> dtos = new List <TeamArticleDto>();

            using (var httpClient = new HttpClient())
            {
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);


                foreach (var item in pinnedTeamArticles)
                {
                    var response = await httpClient.GetAsync($"api/Team/{item.TeamID}");

                    string apiResponse = await response.Content.ReadAsStringAsync();

                    var team = JsonConvert.DeserializeObject <TeamDto>(apiResponse);

                    TeamArticleDto newDto = new TeamArticleDto();
                    newDto.ArticleID = item.ArticleID;
                    newDto.Title     = item.Title;
                    newDto.Content   = item.Body;
                    newDto.Date      = item.Date;
                    newDto.TeamID    = item.TeamID;
                    newDto.Team      = team;
                    newDto.IsVisible = item.IsVisible;
                    newDto.IsPinned  = item.IsPinned;
                    dtos.Add(newDto);
                }
            }

            return(dtos);
        }
Beispiel #3
0
        /// <summary>
        /// Edits a teamArticle from the in coming teamArticleDto
        /// </summary>
        /// <param name="teamArticleDto"></param>
        /// <returns></returns>
        public async Task EditTeamArticle(TeamArticleDto teamArticleDto)
        {
            TeamArticle articleToEdit = await _repo.GetTeamArticleById(teamArticleDto.ArticleID);

            articleToEdit.Title     = teamArticleDto.Title;
            articleToEdit.Body      = teamArticleDto.Content;
            articleToEdit.Date      = teamArticleDto.Date;
            articleToEdit.TeamID    = teamArticleDto.TeamID;
            articleToEdit.IsVisible = teamArticleDto.IsVisible;
            _repo.TeamArticles.Update(articleToEdit);
            await _repo.CommitSave();
        }
Beispiel #4
0
        /// <summary>
        /// creates a teamArticle from the in coming teamArticleDto
        /// </summary>
        /// <param name="teamArticleDto"></param>
        /// <returns></returns>
        public async Task CreateTeamArticle(TeamArticleDto teamArticleDto)
        {
            TeamArticle newArticle = new TeamArticle();

            newArticle.Title    = teamArticleDto.Title;
            newArticle.Body     = teamArticleDto.Content;
            newArticle.Date     = teamArticleDto.Date;
            newArticle.TeamID   = teamArticleDto.TeamID;
            newArticle.IsPinned = teamArticleDto.IsPinned;
            _repo.TeamArticles.Add(newArticle);
            await _repo.CommitSave();
        }
Beispiel #5
0
        public async void TestForEditTeamArticle()
        {
            var options = new DbContextOptionsBuilder <NewsContext>()
                          .UseInMemoryDatabase(databaseName: "p3NewsService")
                          .Options;

            using (var context = new NewsContext(options))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();

                Repo           r              = new Repo(context, new NullLogger <Repo>());
                Logic          logic          = new Logic(r, new NullLogger <Repo>());
                NewsController newsController = new NewsController(logic);

                var teamArticle = new TeamArticle()
                {
                    ArticleID = Guid.NewGuid(),
                    Title     = "free hotdogs",
                    Body      = "come today to get your hotdogs!",
                    Date      = DateTime.Now,
                    IsPinned  = true,
                    IsVisible = true,
                    TeamID    = Guid.NewGuid()
                };
                r.TeamArticles.Add(teamArticle);
                await r.CommitSave();

                var teamArticleDto = new TeamArticleDto()
                {
                    ArticleID = teamArticle.ArticleID,
                    Title     = "free hamburgers",
                    Content   = "come today to get your hamburgers!",
                    Date      = teamArticle.Date,
                    IsPinned  = teamArticle.IsPinned,
                    IsVisible = teamArticle.IsVisible,
                    TeamID    = teamArticle.TeamID
                };
                await newsController.EditTeamArticle(teamArticleDto);

                var editedTeamArticle = await context.TeamArticles.FindAsync(teamArticle.ArticleID);

                Assert.True(editedTeamArticle.Title == "free hamburgers");
            }
        }
        public void ValidateTeamArticleDto()
        {
            var teamDto = new TeamDto
            {
                TeamID = Guid.NewGuid(),
                Name   = "cubs"
            };

            var teamArticleDto = new TeamArticleDto
            {
                ArticleID = Guid.NewGuid(),
                TeamID    = Guid.NewGuid(),
                Title     = "Start of season",
                Content   = "Let's win them all!",
                Team      = teamDto,
                Date      = DateTime.Now,
                IsVisible = true,
                IsPinned  = true
            };

            var results = ValidateModel(teamArticleDto);

            Assert.True(results.Count == 0);
        }
Beispiel #7
0
 public async Task EditTeamArticle(TeamArticleDto teamArticleDto)
 {
     await _logic.EditTeamArticle(teamArticleDto);
 }
Beispiel #8
0
 public async Task CreateTeamArticle(TeamArticleDto teamArticleDto)
 {
     await _logic.CreateTeamArticle(teamArticleDto);
 }