public void UpdateUserFactsWhenUserHasNoUpdatedTrackers_FactsInRepositoryNotUpdated() { var generalFact = CreateGeneralFact(); _multipleFactsRepository.CreateUserGeneralFacts(_tracker.CreatorId, new[] { generalFact }); var specificFact = CreateSpecificFact(); _singleFactsRepository.CreateTrackerSpecificFacts(_tracker.Id, _tracker.CreatorId, new[] { specificFact }); _tracker.IsUpdated = false; _trackerRepository.UpdateTracker(_tracker); _statisticGenerator.UpdateUserFacts(_tracker.CreatorId); var loadedGeneralFact = _multipleFactsRepository.ReadUserGeneralFacts(_tracker.CreatorId); var loadedSpecificFact = _singleFactsRepository.ReadTrackerSpecificFacts(_tracker.CreatorId, _tracker.Id); Assert.AreEqual(generalFact.GetHashCode(), loadedGeneralFact.First().GetHashCode()); Assert.AreEqual(specificFact.GetHashCode(), loadedSpecificFact.First().GetHashCode()); }
public IReadOnlyCollection <ISingleTrackerFact> GetSingleTrackerFacts(Guid trackerId, Guid userId) { if (!_trackerRepository.IsContainTracker(trackerId)) { throw new TrackerNotFoundException(trackerId); } var tracker = _trackerRepository.LoadTracker(trackerId); if (userId != tracker.CreatorId) { throw new NoPermissionsForTrackerException(userId, trackerId); } if (!_singleFactsRepository.IsContainFactForTracker(trackerId, userId)) { throw new TrackerStatisticsNotFoundException(trackerId); } var statisticFacts = _singleFactsRepository.ReadTrackerSpecificFacts(userId, trackerId); return(statisticFacts); }