public async Task <IActionResult> UpdateActivityStatus(LiveMatchUpdateRequest request) { try { await _hubContext.Clients.All.UpdateActivityStatus(request); } catch (Exception e) { } _memoryCache.Set(_liveMatchUpdateRequest, request); return(Ok()); }
public async Task GetLiveMatch_WhenGetIsCalled_ShouldReturnCurrentLiveMatch() { // Cleanup var testHelper = new TestHelper(); testHelper.DropAllCollections(); // Arrange var players = testHelper.Create4Users(true); var user = testHelper.CreateTableUser(); var userLoginInfo = await testHelper.GetUserLoginInfo(user.Email); var httpClient = new HttpClient(); var loginToken = userLoginInfo.Tokens.First(); var now = DateTime.Now; var request = new LiveMatchUpdateRequest { Team1Players = new List <string> { players[0].Email, players[1].Email }, Team2Players = new List <string> { players[2].Email, players[3].Email }, StartTime = now.AddMinutes(-2), LiveMatchUpdates = new List <LiveMatchUpdate> { new LiveMatchUpdate { EventType = EventType.Goal, Team = 1, Timestamp = now.AddMinutes(-1) }, new LiveMatchUpdate { EventType = EventType.Goal, Team = 1, Timestamp = now }, } }; var httpRequestMessage = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri($"{Basestring}/UpdateActivityStatus"), Headers = { { "Token", loginToken.Token }, { "Email", userLoginInfo.Email }, { "DeviceName", loginToken.DeviceName } }, Content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json") }; await httpClient.SendAsync(httpRequestMessage); // Act var result = await httpClient.GetAsync(Basestring + "/GetUpdateActivityStatus"); //Assert var resultAsString = await result.Content.ReadAsStringAsync(); var parsed = JsonConvert.DeserializeObject <LiveMatchUpdateRequest>(resultAsString); parsed.Team1Players.Count.Should().Be(2); parsed.Team2Players.Count.Should().Be(2); parsed.StartTime.Should().BeCloseTo(now.AddMinutes(-2)); parsed.LiveMatchUpdates.Count.Should().Be(2); }