public async Task ShouldThrowExceptionIfBetIdUnknown() { var betId = Guid.NewGuid(); var handler = new RetrieveBetQueryHandler(new InMemoryBetQueryRepository()); var record = await Record.ExceptionAsync(() => handler.Handle(new RetrieveBetQuery(betId), default)); Assert.IsType <BetNotFoundException>(record); Assert.Equal($"This bet with id: {betId} is not found", record.Message); }
public async Task ShouldReturnBetIfIdKnown() { var betId = Guid.NewGuid(); var creator = new MemberOutput { Id = Guid.NewGuid(), Username = "******" }; var betOutput = new BetOutput() { Creator = creator, Id = betId, Description = "description bet", EndDate = DateTime.UtcNow.AddDays(10), Coins = 100 }; var betQuery = new RetrieveBetQuery(betId); var queryBetRepository = new InMemoryQueryBetRepository(creator, new() { betOutput }); var queryHandler = new RetrieveBetQueryHandler(queryBetRepository); var result = await queryHandler.Handle(betQuery); Assert.NotNull(result); Assert.Equal(betId, result.Id); }
public async Task ShouldReturnBet() { var betId = Guid.NewGuid(); var bets = new List <BetDto>() { new BetDto(new(betId, new(new(Guid.NewGuid()), "username", 300), new DateTime(2021, 10, 10), "description", 20, new DateTime(2021, 3, 3), null, null, null)) }; var betQueryRepository = new InMemoryBetQueryRepository(bets); var handler = new RetrieveBetQueryHandler(betQueryRepository); var query = new RetrieveBetQuery(betId); var betDto = await handler.Handle(query, default); Assert.Equal("description", betDto.Description); Assert.Equal(20, betDto.Coins); Assert.Equal(new DateTime(2021, 10, 10), betDto.EndDate); Assert.Equal(betId, betDto.Id); }