public void CreateTracker_CreatesTrackerWithRequiredParameters() { var creatorId = Guid.NewGuid(); var trackerId = _trackerService.CreateEventTracker(creatorId, "tracker", new TrackerCustomizationSettings( true, true, Option <string> .Some("meter"), false, true, false, false)); var trackerFromRepository = _trackerRepository.LoadTracker(trackerId); var actualMeasurementUnit = trackerFromRepository.CustomizationSettings.ScaleMeasurementUnit.Match( Some: value => value, None: string.Empty); Assert.AreEqual(creatorId, trackerFromRepository.CreatorId); Assert.AreEqual("meter", actualMeasurementUnit); Assert.True(trackerFromRepository.CustomizationSettings.IsPhotoRequired); Assert.False(trackerFromRepository.CustomizationSettings.IsRatingRequired); Assert.True(trackerFromRepository.CustomizationSettings.IsGeotagRequired); Assert.False(trackerFromRepository.CustomizationSettings.IsCommentRequired); Assert.True(trackerFromRepository.CustomizationSettings.IsScaleRequired); }
public IActionResult CreateTracker([FromBody] TrackerRequest request) { var userId = User.GetUserId(); var customizationSettings = _mapper.Map <TrackerCustomizationSettings>(request.CustomizationSettings); var trackerId = _trackerService.CreateEventTracker(userId, request.Name, customizationSettings); return(Ok(_mapper.Map <TrackerPostResponse>(trackerId))); }