public async Task HaveValidClosePriceWhenGetFuturesDayCloseByDateCalled() { //Arrange var sut = new FetchFuturesDataService(fixture.HTTPClientFactory); //Act var response = await sut.GetFuturesDayCloseByDateAsync("NIFTY", new DateTime(2018, 7, 10), new DateTime(2018, 7, 26)); //Assert response.Should().BePositive(); }
public async Task ExceptionWhenInvalidSymbolNamePassedCallingGetCurrentDayFutureInstrumentData() { //Arrange var sut = new FetchFuturesDataService(fixture.HTTPClientFactory); //Act Func <Task <FutureInstrumentResponse> > func = async() => await sut.GetCurrentDayFutureInstrumentDataAsync("VINAY"); //Assert await func.Should().ThrowAsync <DeserializeException>(); }
public async Task ThrowExceptionIfInvalidDataIsPassed() { //Arrange var sut = new FetchFuturesDataService(fixture.HTTPClientFactory); //Act Func <Task <HistoricalFuturesResponse> > func = async() => await sut.GetHistoricalFuturesByDateAsync("VINAY", new DateTime(2020, 3, 7), new DateTime(2020, 3, 7), new DateTime(2020, 3, 26)); //Assert await func.Should().ThrowAsync <NoRecordsFoundException>(); }
public async Task GetSuccessfullyGetCurrentDayFutureInstrumentData() { //Arrange var sut = new FetchFuturesDataService(fixture.HTTPClientFactory); //Act var response = await sut.GetCurrentDayFutureInstrumentDataAsync("INFY"); //Assert response.Details.Should().NotBeEmpty("There should be collection of stock information"); response.SymbolName.Should().Be("INFY", "we are requesting data for INFY future instrument"); }
public async Task GetStockDataSuccessfullyForAMonth() { //Arrange var sut = new FetchFuturesDataService(fixture.HTTPClientFactory); //Act var response = await sut.GetHistoricalFuturesByDateAsync("INFY", new DateTime(2020, 1, 31), new DateTime(2020, 2, 27), new DateTime(2020, 2, 27)); //Assert response.Data.Should().HaveCountGreaterThan(0); response.LotSize.Should().Be(1200, "because lot size of Infy is 1200 as of now.."); }
public async Task GetDataSuccessfullyForAMonth() { //Arrange var sut = new FetchFuturesDataService(fixture.HTTPClientFactory); //Act var response = await sut.GetHistoricalFuturesByDateAsync("NIFTY", new DateTime(2018, 6, 29), new DateTime(2018, 7, 26), new DateTime(2018, 7, 26)); //Assert response.Data.Should().HaveCountGreaterThan(0); response.LotSize.Should().Be(75, "because lot size of Nifty is 75 as of now.."); }
public async Task GetDataSuccessfullyForADay() { //Arrange var sut = new FetchFuturesDataService(fixture.HTTPClientFactory); //Act var response = await sut.GetHistoricalFuturesByDateAsync("NIFTY", new DateTime(2018, 7, 10), new DateTime(2018, 7, 10), new DateTime(2018, 7, 26)); //Assert response.Data.Should().HaveCount(1, "because we are requesting data for only single day"); response.LotSize.Should().Be(75, "because lot size of Nifty is 75 as of now.."); }
public async Task HaveNoClosePriceWhenGetFuturesDayCloseByDateCalledWithInvalidInput() { //Arrange var sut = new FetchFuturesDataService(fixture.HTTPClientFactory); //Act Func <Task <double> > func = async() => await sut.GetFuturesDayCloseByDateAsync("NIFTY", new DateTime(2018, 7, 1), new DateTime(2018, 7, 26)); //Assert await func.Should().ThrowAsync <NoRecordsFoundException>(); }