@Test public void testCantSetPublishThenReadPermissions() throws Exception { Activity activity = Robolectric.buildActivity(MainActivity.class).create().get(); LoginButton loginButton = (LoginButton) activity.findViewById(R.id.login_button); loginButton.setPublishPermissions("publish_actions"); try { loginButton.setReadPermissions("user_location"); } catch (UnsupportedOperationException e) { return; } fail(); }
@Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); // mTextDisplayed = (TextView) view.findViewById(R.id.text_details); // Create facebook button and initialize permissions. fbLoginButton = (LoginButton) view.findViewById(R.id.login_button); fbLoginButton.setPublishPermissions("publish_actions"); fbLoginButton.setFragment(this); fbLoginButton.registerCallback(mCallbackManager, facebookCallback); // Creating loginButton and setting the callback. twitterLoginButton = (TwitterLoginButton) view.findViewById(R.id.twitter_login_button); twitterLoginButton.setCallback(twitterSessionCallback); }
@Test public void testLoginButtonWithPublishPermissions() throws Exception { LoginManager loginManager = mock(LoginManager.class); Activity activity = Robolectric.buildActivity(MainActivity.class).create().get(); LoginButton loginButton = (LoginButton) activity.findViewById(R.id.login_button); ArrayList<String> permissions = new ArrayList<>(); permissions.add("publish_actions"); loginButton.setPublishPermissions(permissions); loginButton.setLoginManager(loginManager); loginButton.performClick(); verify(loginManager, never()).logInWithReadPermissions(isA(Activity.class), anyCollection()); verify(loginManager).logInWithPublishPermissions(activity, permissions); }