Example #1
0
        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
            });
        }
Example #2
0
        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));
        }