public async void GetAuthToken() { var token = new OrangeRocklandAuthToken(); var tokenTask = Task.FromResult(token); A.CallTo(() => authClient.SubmitCredentials(A <string> ._, A <string> ._)) .Returns(tokenTask); orangeRocklandAuthenticationService.Username = "******"; orangeRocklandAuthenticationService.Password = "******"; OrangeRocklandAuthToken actual = await orangeRocklandAuthenticationService.GetAuthToken(); actual.Should().BeSameAs(token); A.CallTo(() => authClient.SubmitCredentials("user", "pass")) .MustHaveHappened(Repeated.Exactly.Once); actual = await orangeRocklandAuthenticationService.GetAuthToken(); actual.Should().BeSameAs(token); A.CallTo(() => authClient.SubmitCredentials("user", "pass")) .MustHaveHappened(Repeated.Exactly.Once); }