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 DetachUserMessageHandler(IUserMessageHandler userMessageHandler) { OnUserMessageEventHandler -= userMessageHandler.UserMessage; }
public void AttachUserMessageHandler(IUserMessageHandler userMessageHandler) { OnUserMessageEventHandler += userMessageHandler.UserMessage; }