Esempio n. 1
0
        public void When_deleting_a_game_that_not_exist_then_domain_exception_should_be_thrown()
        {
            var gamesRepository  = Substitute.For <IGamesRepository>();
            var venuesRepository = Substitute.For <IVenuesRepository>();
            var deleteGame       = new DeleteGame(gamesRepository, venuesRepository);

            Func <Task> action = async() => await deleteGame.Execute(0, default);

            action.Should().Throw <DomainException>().WithMessage(Game.NOT_FOUND);
        }
Esempio n. 2
0
        public void When_deleting_a_game_correctly_then_game_should_be_removed()
        {
            var gamesRepository  = Substitute.For <IGamesRepository>();
            var venuesRepository = Substitute.For <IVenuesRepository>();
            var deleteGame       = new DeleteGame(gamesRepository, venuesRepository);

            var game = Game.Create(NAME).WithId(ID);

            gamesRepository.Find(ID, default).Returns(Task.FromResult(game));
            venuesRepository.AnyAsync(Arg.Any <Expression <Func <Venue, bool> > >(), default).Returns(Task.FromResult(false));

            Func <Task> action = async() => await deleteGame.Execute(game.Id, default);

            action.Should().NotThrow();
        }
Esempio n. 3
0
        public void When_deleting_a_game_related_with_a_venue_then_a_domain_exception_should_be_thrown()
        {
            var gamesRepository  = Substitute.For <IGamesRepository>();
            var venuesRepository = Substitute.For <IVenuesRepository>();
            var deleteGame       = new DeleteGame(gamesRepository, venuesRepository);

            var game = Game.Create(NAME).WithId(ID);

            gamesRepository.Find(ID, default).Returns(Task.FromResult(game));
            venuesRepository.AnyAsync(Arg.Any <Expression <Func <Venue, bool> > >(), default).Returns(Task.FromResult(true));

            Func <Task> action = async() => await deleteGame.Execute(game.Id, default);

            action.Should().Throw <DomainException>().WithMessage(Game.IS_IN_USE);
        }
Esempio n. 4
0
        // GET: Games/Delete/5
        public async Task <IActionResult> Delete(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var game = DeleteGame.Generate(_context, await _context.Games
                                           .FirstOrDefaultAsync(m => m.SearchID == id));

            if (game == null)
            {
                return(NotFound());
            }

            return(View(game));
        }
Esempio n. 5
0
 public IEnumerable <IEvent> On(DeleteGame command)
 {
     yield return(new GameDeleted(command.ID));
 }