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()); }