Exemplo 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);
        }
Exemplo 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();
        }
Exemplo 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);
        }