Esempio n. 1
0
        public void SaveEvent_IsDataMatching(int?coachId, string eventDate, TrackingLogEventType eventTypeId,
                                             string updatePageUrl, string userIpAddress)
        {
            var trackingLogEventRepositoryMock = new Mock <ITrackingLogEventRepository>();
            var trackingLogEvent = new TrackingLogEvent()
            {
                CoachId       = coachId,
                EventDate     = DateTime.Parse(eventDate),
                EventTypeId   = eventTypeId,
                UpdatePageUrl = updatePageUrl,
                UserIPAddress = userIpAddress,
            };

            trackingLogEventRepositoryMock.Setup(repository => repository.InsertEvent(trackingLogEvent))
            .Returns(trackingLogEvent);

            var sut = new TrackingService(trackingLogEventRepositoryMock.Object);

            sut.SaveEvent(trackingLogEvent).Should().Match <ServiceResponse <TrackingLogEvent> >(response =>
                                                                                                 response.ResponseDTO.CoachId == coachId &&
                                                                                                 response.ResponseDTO.EventDate == trackingLogEvent.EventDate &&
                                                                                                 response.ResponseDTO.EventTypeId == eventTypeId &&
                                                                                                 response.ResponseDTO.UpdatePageUrl == updatePageUrl &&
                                                                                                 response.ResponseDTO.UserIPAddress == userIpAddress
                                                                                                 );
        }
 private ServiceResponse SendEvent(TrackingLogEventType type, int?coachId = null, bool includeUrl = false)
 {
     try
     {
         var trackingLogEvent = new TrackingLogEvent
         {
             EventDate     = DateTime.UtcNow,
             UserIPAddress = _userIpAddress,
             EventTypeId   = type,
             UpdatePageUrl = includeUrl ? $"{_applicationUrl}/Coach/Update/{coachId}" : null,
             CoachId       = coachId,
         };
         var response = _trackingLogsService.SendEvent(trackingLogEvent);
         if (!response.IsSuccess)
         {
             return(ServiceResponse.Error(new ErrorDetails(500, $"{Error500_FailedToSendEvent}{response.ErrorDetails}")));
         }
     }
     catch (Exception ex)
     {
         return(ServiceResponse.Error(new ErrorDetails(500, $"{Error500_ExceptionThrownWhileSendingEvent}{ex}")));
     }
     return(ServiceResponse.Success());
 }