Esempio n. 1
0
        public async Task ShouldThrowArgumentNullExceptionIfRequestNull()
        {
            //arrange
            var handler = new InsertBetQuerySideNotificationHandler(new InMemoryBetRepository(), new InMemoryBetQueryRepository());

            //act
            var record = await Record.ExceptionAsync(() => handler.Handle(default, default));
Esempio n. 2
0
        public async Task ShouldAddBetIfBetExists()
        {
            //arrange
            var memberId = Guid.NewGuid();
            var betId    = Guid.NewGuid();
            var member   = new Member(new(memberId), "toto", 0);
            var bet      = Bet.Domain.Bets.Bet.Create(new BetId(betId),
                                                      new DateTime(2022, 2, 3),
                                                      "desc1", 10, member, new DateTime(2021, 3, 2));
            var betRepository      = new InMemoryBetRepository(null, bet.State);
            var queryBetRepository = new InMemoryBetQueryRepository(new List <BetDto>());
            var command            = new InsertBetQuerySideNotification(betId, memberId);
            var handler            = new InsertBetQuerySideNotificationHandler(betRepository, queryBetRepository);

            //act
            await handler.Handle(command, default);

            //assert
            BetDto betInserted = await queryBetRepository.GetByIdAsync(betId);

            Assert.NotNull(betInserted);
            Assert.Equal(bet.State.Coins, betInserted.Coins);
            Assert.Equal(bet.State.Description, betInserted.Description);
            Assert.Equal(bet.State.EndDate, betInserted.EndDate);
            Assert.Equal(bet.State.BetId, betInserted.Id);
            Assert.Equal(bet.State.Creator.Id.Value, betInserted.Creator.Id);
        }
Esempio n. 3
0
        public async Task ShouldThrowBetUnknownExceptionIfBetIdUnknown()
        {
            //arrange
            var betId    = Guid.NewGuid();
            var memberId = Guid.NewGuid();
            var member   = new Member(new(memberId), "toto", 0);
            var bet      = Bet.Domain.Bets.Bet.Create(new BetId(Guid.NewGuid()),
                                                      new DateTime(2022, 2, 3),
                                                      "desc1", 10, member, new DateTime(2021, 3, 2));
            var betRepository      = new InMemoryBetRepository(null, bet.State);
            var queryBetRepository = new InMemoryBetQueryRepository(new List <BetDto>());
            var command            = new InsertBetQuerySideNotification(betId, memberId);
            var handler            = new InsertBetQuerySideNotificationHandler(betRepository, queryBetRepository);

            //act
            var record = await Record.ExceptionAsync(() => handler.Handle(command, default));

            //assert
            Assert.IsType <BetUnknownException>(record);
        }