public async void OnNewFollowersDetected_Raised_When_NewFollower() { var usersFollowsResponseFirstUserJson = JMock.Of <GetUsersFollowsResponse>(o => o.Follows == new[] { Mock.Of <Follow>(f => f.FromUserId == "FromFirstUserId") } ); var mockHandler = TwitchLibMock.HttpCallHandler(("https://api.twitch.tv/helix/users/follows", usersFollowsResponseFirstUserJson)); _api = TwitchLibMock.TwitchApi(mockHandler); var eventExecuteCount = 0; _followerService = new FollowerService(_api); _followerService.SetChannelsById(Utils.CreateListWithEmptyString()); _followerService.OnNewFollowersDetected += (sender, e) => eventExecuteCount++; await _followerService.UpdateLatestFollowersAsync(); var usersFollowsResponseSecondUserJson = JMock.Of <GetUsersFollowsResponse>(o => o.Follows == new[] { Mock.Of <Follow>(f => f.FromUserId == "FromSecondUserId") } ); TwitchLibMock.ResetHttpCallHandlerResponses(mockHandler, ("https://api.twitch.tv/helix/users/follows", usersFollowsResponseSecondUserJson)); await _followerService.UpdateLatestFollowersAsync(); Assert.Equal(2, eventExecuteCount); }
public async void OnStreamOffline_Called_When_StreamWentOffline() { var usersFollowsResponseJson = JMock.Of <GetStreamsResponse>(o => o.Streams == new[] { Mock.Of <Stream>(u => u.UserId == "UserId") } ); var mockHandler = TwitchLibMock.HttpCallHandler(("https://api.twitch.tv/helix/streams", usersFollowsResponseJson)); _api = TwitchLibMock.TwitchApi(mockHandler); var eventExecuteCount = 0; _liveStreamMonitor = new LiveStreamMonitorService(_api); _liveStreamMonitor.SetChannelsById(Utils.CreateListWithStrings("UserId")); _liveStreamMonitor.OnStreamOffline += (sender, e) => eventExecuteCount++; await _liveStreamMonitor.UpdateLiveStreamersAsync(); usersFollowsResponseJson = JMock.Of <GetStreamsResponse>(o => o.Streams == new[] { Mock.Of <Stream>(u => u.UserId == "SomeOtherUserId") } ); TwitchLibMock.ResetHttpCallHandlerResponses(mockHandler, ("https://api.twitch.tv/helix/streams", usersFollowsResponseJson)); await _liveStreamMonitor.UpdateLiveStreamersAsync(); Assert.Equal(1, eventExecuteCount); }