public GetHorsesDataResponse GetHorsesDataWithPrices(GetHorsesDataRequest request) { var feeds = _feedRepository.Read(); var feed = feeds.Single(x => x.FeedId == request.Feed.FeedId); var race = feed.Races.Single(x => x.RaceNumber == request.RaceNumber); var horses = race.Horses.OrderBy(x => x.Price); return(new GetHorsesDataResponse { Horses = horses }); }
public void Execute(PersistFeedRequest request) { if (_repository.Read().Any(x => x.FeedId == request.Feed.FeedId)) { return; } _repository.Persist(request.Feed); }
public void GivenRecordExistsTHenShouldNotPersist() { // Arrange var feed = new Feed(); A.CallTo(() => _repository.Read()).Returns(new[] { feed }); // Act _subject.Execute(new Requests.PersistFeedRequest { Feed = feed }); // Assert A.CallTo(() => _repository.Persist(A <Feed> .Ignored)).MustNotHaveHappened(); }
public void ShouldReturnHorsesForRequestedFeed() { // Arrange var FeedId = Guid.NewGuid().ToString(); var feed = new Feed { FeedId = FeedId, Races = new[] { new Race { RaceNumber = 1, Horses = new[] { new Horse() } } } }; A.CallTo(() => _repository.Read()).Returns(new[] { feed }); var request = new GetHorsesWithPriceRequest { FeedId = FeedId }; // Act var actual = _subject.Query(request); // Assert Assert.That(actual, Is.Not.Null); Assert.That(actual.Horses.Count(), Is.EqualTo(1)); }