public async Task ShouldReturnTheAccountLinkSuccessView( string code, string accessToken, string idToken, string discordToken, Models.User discordUser, Guid identityUserId, [Substitute] HttpContext httpContext, [Frozen, Substitute] IUserService userService, [Target] OAuth2Controller controller ) { controller.ControllerContext = new ControllerContext { HttpContext = httpContext }; userService.GetDiscordUserInfo(Is(discordToken), Any <CancellationToken>()).Returns(discordUser); userService.GetUserIdFromIdentityToken(Is(idToken)).Returns(identityUserId); userService.ExchangeOAuth2CodeForToken(Is(code), Any <CancellationToken>()).Returns(discordToken); SetupHttpContext(httpContext, accessToken, idToken); SetupTempData(controller); var result = await controller.Callback(code) as ViewResult; result.Should().NotBeNull(); result !.ViewName.Should().Be("~/Users/Views/AccountLink.cshtml"); }