public async Task GetCurrentIdentityStateAsync_Registered()
		{
			var identityProvider = new Mock<IIdentityProvider>();
			identityProvider
				.Setup(ip => ip.CurrentIdentity)
				.Returns(GetIdentity());

			var userService = new Mock<IUserService>();
			userService
				.Setup(us => us.GetAndUpdateCurrentUserAsync())
				.ReturnsAsync(new User());

			var userProvider = new UserProvider(userService.Object, identityProvider.Object);
			var identityState = await userProvider.GetCurrentIdentityStateAsync();

			Assert.Equal(IdentityState.Registered, identityState);
		}
		public async Task GetCurrentIdentityStateAsync_NotSignedIn()
		{
			var identityProvider = new Mock<IIdentityProvider>();
			identityProvider
				.Setup(ip => ip.CurrentIdentity)
				.Returns<Model.Users.Identity>(null);

			var userService = new Mock<IUserService>();
			userService
				.Setup(us => us.AnyRegisteredUsersAsync())
				.ReturnsAsync(true);

			var userProvider = new UserProvider(userService.Object, identityProvider.Object);
			var identityState = await userProvider.GetCurrentIdentityStateAsync();

			Assert.Equal(IdentityState.Anonymous, identityState);
		}