public void LogoutShouldBeEnabledOnlyWhenAuthorized() { var authorized = new BehaviorSubject <bool>(true); _cloud.IsAuthorized.Returns(authorized); _cloud.SupportsDirectAuth.Returns(true); var model = BuildProviderViewModel(); model.Logout.CanExecute().Should().BeTrue(); model.Logout.Execute().Subscribe(); authorized.OnNext(false); _cloud.Received(1).Logout(); model.Logout.CanExecute().Should().BeFalse(); }