private static void UpdateExistingEntryForUser(string code, UserFitnessProvider mapMyFitnessDetails, AccessTokenResponse response, int mapMyFitnessUserId) { mapMyFitnessDetails.AuthorizationToken = code; mapMyFitnessDetails.AccessToken = response.access_token; mapMyFitnessDetails.ExternalUserId = mapMyFitnessUserId.ToString(); }
public void MapMyRunAuthorizationCallback_WhenUserIsNotConnected_ThenTheAuthorizationDataIsSaved() { // Arrange const string authorizationCode = "some code"; const string accessToken = "access token"; const int mmfUserId = 34; var dbContext = new FakeShoeTrackerDbContext(); dbContext .WithFitnessProvider(1, "MapMyFitness"); var api = Substitute.For<MapMyFitnessApi>(); var accessTokenResponse = new AccessTokenResponse { access_token = accessToken }; api.GetAccessToken(authorizationCode).Returns(accessTokenResponse); var currentUser = new User { id = mmfUserId }; api.GetCurrentUser(accessTokenResponse.access_token).Returns(currentUser); var controller = new FitnessProviderController(dbContext, api) .WithAuthenticatedUser("some user", _currentUserId); // Act controller.MapMyRunAuthorizationCallback("some status", authorizationCode); // Assert var savedData = dbContext.UserFitnessProviders .First(f => f.UserId == _currentUserId && f.FitnessProvider.Name == "MapMyFitness"); AssertMapMyFitnessAuthorizationDataIsSaved(savedData, authorizationCode, accessToken, mmfUserId, dbContext); }
private void CreateNewEntryForUser(string currentUserId, string code, AccessTokenResponse response, int mapMyFitnessUserId) { var fitnessProvider = _dbContext.GetFitnessProvider(SupportedFitnessProvider.MapMyFitness); var details = new UserFitnessProvider { UserId = currentUserId, FitnessProvider = fitnessProvider, AuthorizationToken = code, AccessToken = response.access_token, ExternalUserId = mapMyFitnessUserId.ToString() }; _dbContext.UserFitnessProviders.Add(details); }
private int GetMapMyFitnessUserId(AccessTokenResponse response) { var userDetails = _mapMyfitnessApi.GetCurrentUser(response.access_token); var mapMyFitnessUserId = userDetails.id; return mapMyFitnessUserId; }