public void GetCurrentDraws_WithNullOrEmptyDrawsReturned_ThrowsAppropriateError()
        {
            // Arrange
            var request = LottoDrawData.ValidDrawRequest;

            ConfigureCurrentRepository(LottoDrawData.NullCurrentDrawsResponse, request);
            _lottoDrawService = new LottoDrawService(_openRepoMock.Object, _currentRepoMock.Object);

            // Act
            // Assert
            Assert.Throws <InvalidDataException>(() => _lottoDrawService.GetCurrentDraws(request));
        }
        public async Task GetOpenDraws_WithValidRequest_ReturnsValidResponseWithoutErrors()
        {
            // Arrange
            var request = LottoDrawData.ValidDrawRequest;

            ConfigureOpenRepository(LottoDrawData.ValidOpenDrawsResponse, request);
            _lottoDrawService = new LottoDrawService(_openRepoMock.Object, _currentRepoMock.Object);

            // Act
            var openDraws = await _lottoDrawService.GetOpenDraws(request);

            // Assert
            Assert.That(openDraws, Is.Not.Null.Or.Empty);
            var openDrawsList = openDraws.ToList();

            Assert.That(openDrawsList.Count, Is.GreaterThan(0));
        }
 public LottoDrawController(ILottoDrawService lottoDrawService)
 {
     _lottoDrawService = lottoDrawService;
 }