Automate Login After Signup
Let's update the signup function so that newly added users are logged in automatically. Also, we’ll update the function tests accordingly.
We'll cover the following...
At the moment, we have two services that do what we need them to do (signup and login.) Now, we need signup to also call login so that newly created users are automatically logged into the application.
Our updated application code:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>LetsGetLunch</title> <base href="/"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/x-icon" href="favicon.ico"> </head> <body> <app-root></app-root> </body> </html>
Update signup tests
Let’s first update our test for this new behavior of our signup method.
Add the response we expect to receive from our test. Add the response for the login method just below signupResponse.
Then, create what’s known as a spy within testing as follows:
- Import
ofat the top of our file which allows us to create an observable value.
-
Add the spy below our call to
authService.signup(). A spy tracks a function, allowing us to form expectations within our test about that function. It also lets us intercept calls to that function, manually providing its return values. In this case, we’re spying on theloginmethod of ourauthService. ...