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