public override void Save() { base.Save(); TraktPluginSettings settings = SettingsManager.Load <TraktPluginSettings>(); if (Selected == 0) { settings.SyncSeriesAndMovies = true; settings.SyncOnlyMovies = false; settings.SyncOnlySeries = false; } else if (Selected == 1) { settings.SyncOnlySeries = true; settings.SyncSeriesAndMovies = false; settings.SyncOnlyMovies = false; } else { settings.SyncOnlyMovies = true; settings.SyncSeriesAndMovies = false; settings.SyncOnlySeries = false; } SettingsManager.Save(settings); }
public void StartScrobble(TraktPluginSettings settings, MediaItem mediaItem, ITraktClient traktClient, ITraktNotification notification) { // Arrange IMediaPortalServices mediaPortalServices = Substitute.For <IMediaPortalServices>(); mediaPortalServices.GetTraktUserHomePath().Returns(DataPath); SetSettings(mediaPortalServices, settings); SetPlayerAndContentDirForMovie(mediaPortalServices, mediaItem); IAsynchronousMessageQueue messageQueue = GetMockedMsgQueue(mediaPortalServices); IFileOperations fileOperations = Substitute.For <IFileOperations>(); fileOperations.FileExists(Path.Combine(DataPath, FileName.Authorization.Value)).Returns(true); TraktScrobbleHandlerManager traktScrobbleHandler = new TraktScrobbleHandlerManager(mediaPortalServices, traktClient, fileOperations); TraktScrobbleStartedNotification expectedNotification = (TraktScrobbleStartedNotification)notification; // Act // start the player messageQueue.MessageReceivedProxy += Raise.Event <MessageReceivedHandler>(new AsynchronousMessageQueue(new object(), new[] { "PlayerManager" }), GetSystemMessageForMessageType(PlayerManagerMessaging.MessageType.PlayerStarted)); // Assert mediaPortalServices.GetTraktNotificationModel().Received() .ShowNotification(Arg.Is <TraktScrobbleStartedNotification>(x => x.IsSuccess == expectedNotification.IsSuccess && x.Message == expectedNotification.Message && x.ActionType == expectedNotification.ActionType && x.Progress == expectedNotification.Progress && x.SuperLayerScreenName == expectedNotification.SuperLayerScreenName), Arg.Any <TimeSpan>()); }
public void EnableTraktScrobbleHandlerWhenUserChanged() { // Arrange IMediaPortalServices mediaPortalServices = Substitute.For <IMediaPortalServices>(); mediaPortalServices.GetTraktUserHomePath().Returns(DataPath); TraktPluginSettings settings = new TraktPluginSettings { IsScrobbleEnabled = false }; ITraktSettingsChangeWatcher settingsChangeWatcher = Substitute.For <ITraktSettingsChangeWatcher>(); settingsChangeWatcher.TraktSettings.Returns(settings); mediaPortalServices.GetTraktSettingsWatcher().Returns(settingsChangeWatcher); IUserMessageHandler userMessageHandler = Substitute.For <IUserMessageHandler>(); mediaPortalServices.GetUserMessageHandler().Returns(userMessageHandler); ITraktClient traktClient = Substitute.For <ITraktClient>(); IFileOperations fileOperations = Substitute.For <IFileOperations>(); fileOperations.FileExists(Path.Combine(DataPath, FileName.Authorization.Value)).Returns(true); TraktScrobbleHandlerManager traktScrobbleHandler = new TraktScrobbleHandlerManager(mediaPortalServices, traktClient, fileOperations); // Act settings.IsScrobbleEnabled = true; userMessageHandler.UserChangedProxy += Raise.Event(); // Assert Assert.True(traktScrobbleHandler.IsActive); }
public void ShouldEnableTraktSyncHandlerWhenSettingsChange() { // Arrange IMediaPortalServices mediaPortalServices = Substitute.For <IMediaPortalServices>(); mediaPortalServices.GetTraktUserHomePath().Returns(DataPath); TraktPluginSettings settings = new TraktPluginSettings { IsAutomaticLibrarySyncEnabled = false }; ITraktSettingsChangeWatcher settingsChangeWatcher = Substitute.For <ITraktSettingsChangeWatcher>(); settingsChangeWatcher.TraktSettings.Returns(settings); mediaPortalServices.GetTraktSettingsWatcher().Returns(settingsChangeWatcher); ISettingsManager settingsManager = Substitute.For <ISettingsManager>(); settingsManager.Load <TraktPluginSettings>().Returns(settings); mediaPortalServices.GetSettingsManager().Returns(settingsManager); ILibrarySynchronization librarySynchronization = Substitute.For <ILibrarySynchronization>(); IFileOperations fileOperations = Substitute.For <IFileOperations>(); fileOperations.FileExists(Path.Combine(DataPath, FileName.Authorization.Value)).Returns(true); TraktSyncHandlerManager traktSyncHandler = new TraktSyncHandlerManager(mediaPortalServices, librarySynchronization, fileOperations); // Act settings.IsAutomaticLibrarySyncEnabled = true; settingsChangeWatcher.TraktSettingsChanged += Raise.Event(); // Assert Assert.True(traktSyncHandler.IsActive); }
private void SetSettings(IMediaPortalServices mediaPortalServices, TraktPluginSettings settings) { ITraktSettingsChangeWatcher settingsChangeWatcher = Substitute.For <ITraktSettingsChangeWatcher>(); settingsChangeWatcher.TraktSettings.Returns(settings); mediaPortalServices.GetTraktSettingsWatcher().Returns(settingsChangeWatcher); ISettingsManager settingsManager = Substitute.For <ISettingsManager>(); settingsManager.Load <TraktPluginSettings>().Returns(settings); mediaPortalServices.GetSettingsManager().Returns(settingsManager); }
public override void Load() { TraktPluginSettings settings = SettingsManager.Load <TraktPluginSettings>(); if (settings.ShowScrobbleStoppedNotifications && settings.ShowScrobbleStoppedNotificationsOnFailure) { Selected = 0; } else if (!settings.ShowScrobbleStoppedNotifications && settings.ShowScrobbleStoppedNotificationsOnFailure) { Selected = 1; } else { Selected = 2; } }
public override void Load() { TraktPluginSettings settings = SettingsManager.Load <TraktPluginSettings>(); if (settings.SyncSeriesAndMovies && !settings.SyncOnlySeries && !settings.SyncOnlyMovies) { Selected = 0; } else if (!settings.SyncSeriesAndMovies && !settings.SyncOnlyMovies) { Selected = 1; } else { Selected = 2; } }
public override void Save() { base.Save(); TraktPluginSettings settings = SettingsManager.Load <TraktPluginSettings>(); if (Selected == 0) { settings.ShowScrobbleStoppedNotifications = true; settings.ShowScrobbleStoppedNotificationsOnFailure = true; } else if (Selected == 1) { settings.ShowScrobbleStoppedNotificationsOnFailure = true; settings.ShowScrobbleStoppedNotifications = false; } else { settings.ShowScrobbleStoppedNotificationsOnFailure = false; settings.ShowScrobbleStoppedNotifications = false; } SettingsManager.Save(settings); }