public async Task CreateShouldAddNewTournament()
        {
            const string       databaseName = "TournamentCreate";
            ITournamentService service      = await GetTournamentService(databaseName);

            //Act
            TournamentFormModel expectedModel = new TournamentFormModel()
            {
                Id              = 5,
                Name            = "SandanskiOpen",
                StartDate       = new DateTime(),
                Place           = "Sandanski",
                NumberOfPlayers = 16,
                Type            = Domain.Enums.Tournament.TournamentType.Charity
            };

            await service.Create(expectedModel, new Guid().ToString());

            var db          = new FakeSportDbContext(databaseName);
            var actualModel = db.Data.Tournaments.FirstOrDefault(t => t.Id == 5);

            //Assert
            Assert.True(expectedModel.Id == actualModel.Id);
            Assert.True(expectedModel.Name.Equals(actualModel.Name));
            Assert.True(expectedModel.StartDate == actualModel.StartDate);
            Assert.True(expectedModel.NumberOfPlayers == actualModel.NumberOfPlayers);
            Assert.True(expectedModel.Place.Equals(actualModel.Place));
        }
Beispiel #2
0
        public async Task <IActionResult> Edit(int id, TournamentFormModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            await this.tournamentService.Edit(model);

            return(RedirectToAction(nameof(All)));
        }
Beispiel #3
0
        public async Task <IActionResult> Create(TournamentFormModel model)
        {
            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            await tournamentService.Create(model, userId);

            return(RedirectToAction(nameof(All)));
        }
        /// <summary>
        /// This method edits  Tournament by given TournamentFormModel
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task Edit(TournamentFormModel model)
        {
            var tournament = await this.context
                             .Tournaments.FindAsync(model.Id);

            if (tournament == null)
            {
                return;
            }

            tournament = mapper.Map(model, tournament);

            this.context.SaveChanges();
        }
        /// <summary>
        /// This method creates tournament by given model and id
        /// </summary>
        /// <param name="model"></param>
        /// <param name="id"></param>
        public async Task Create(TournamentFormModel model, string userId)
        {
            var user = await userManager.FindByIdAsync(userId);

            //.Users
            //.Where(u => u.Id == userId)
            //.FirstOrDefault();

            if (user == null)
            {
                return;
            }

            var tournament = mapper.Map <Tournament>(model);

            tournament.Creator   = user;
            tournament.CreatorId = user.Id;

            context.Tournaments.Add(tournament);
            context.SaveChanges();
        }
        public async Task EditShouldReturnTournamentNotfound()
        {
            //Arrange
            const string       databaseName = "TournamentEditNotfound";
            ITournamentService service      = await GetTournamentService(databaseName);

            //Act
            int tournamentId = -1;
            TournamentFormModel expectedTournament = new TournamentFormModel()
            {
                Id    = tournamentId,
                Name  = "SofiaOpen",
                Place = "Sofia"
            };

            await service.Edit(expectedTournament);

            var actualTournament = service.ById(tournamentId);

            //Assert
            Assert.True(actualTournament == null);
        }
        public async Task EditShouldEditTournamentByModel()
        {
            //Arrange
            const string       databaseName = "TournamentEdit";
            ITournamentService service      = await GetTournamentService(databaseName);

            //Act
            int tournamentId = 1;
            TournamentFormModel expectedTournament = new TournamentFormModel()
            {
                Id    = tournamentId,
                Name  = "SofiaOpen",
                Place = "Sofia"
            };

            await service.Edit(expectedTournament);

            var actualTournament = service.ById(tournamentId);

            //Assert
            Assert.Equal(expectedTournament.Name, actualTournament.Name);
            Assert.Equal(expectedTournament.Place, actualTournament.Place);
        }