public void ShouldThrowIfMemberDoesNotExist() { // Arrange var saasUserId = "5120CC44-C9CE-49B1-9ABA-6B7E5CF29E8B"; var connectionId = "B47FCAE8-1817-4C78-8BBE-9D125B83E1BE"; var userAgent = "testUserAgent"; var updateMemberActivityRequest = new UpdateMemberActivityRequest(saasUserId, connectionId, userAgent); _memberRepositoryMock.Setup(x => x.GetMemberBySaasUserIdAsync(It.IsAny <string>())) .ReturnsAsync((Member)null) .Verifiable(); // Act Func <Task> act = async() => await _memberService.UpdateActivityAsync(updateMemberActivityRequest); // Assert act.Should().Throw <NetKitChatNotFoundException>().And.Message.Should() .Be($"Unable to update activity. Member SaasUserId:{updateMemberActivityRequest.SaasUserId} is not found."); VerifyMocks(); }
public async Task UpdateActivityAsync(UpdateMemberActivityRequest request) { var member = await UnitOfWork.MemberRepository.GetMemberBySaasUserIdAsync(request.SaasUserId); if (member == null) { throw new NetKitChatNotFoundException($"Unable to update activity. Member {nameof(request.SaasUserId)}:{request.SaasUserId} is not found."); } member.Status = UserStatus.Online; member.LastActivity = _dateTimeProvider.GetUtcNow(); await UnitOfWork.MemberRepository.UpdateMemberAsync(member); var client = await UnitOfWork.ClientRepository.GetClientWithMemberAsync(request.ConnectionId); if (client == null) { throw new NetKitChatNotFoundException($"Unable to update activity. Client {nameof(request.ConnectionId)}:{request.ConnectionId} is not found."); } client.UserAgent = request.UserAgent; client.LastActivity = member.LastActivity; client.LastClientActivity = _dateTimeProvider.GetUtcNow(); await UnitOfWork.ClientRepository.UpdateClientAsync(client); }