Skip to content

Commit

Permalink
Public access to Permission constructors (tbruyelle#138)
Browse files Browse the repository at this point in the history
  • Loading branch information
agramian authored and tbruyelle committed Apr 18, 2017
1 parent 3020fe4 commit ffc7636
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 2 deletions.
4 changes: 2 additions & 2 deletions lib/src/main/java/com/tbruyelle/rxpermissions/Permission.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ public class Permission {
public final boolean granted;
public final boolean shouldShowRequestPermissionRationale;

Permission(String name, boolean granted) {
public Permission(String name, boolean granted) {
this(name, granted, false);
}

Permission(String name, boolean granted, boolean shouldShowRequestPermissionRationale) {
public Permission(String name, boolean granted, boolean shouldShowRequestPermissionRationale) {
this.name = name;
this.granted = granted;
this.shouldShowRequestPermissionRationale = shouldShowRequestPermissionRationale;
Expand Down
4 changes: 4 additions & 0 deletions sample/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,8 @@ dependencies {

compile rootProject.ext.appCompat
compile 'com.jakewharton.rxbinding:rxbinding:0.4.0'
compile 'com.github.akarnokd:rxjava2-interop:0.8.0'

testCompile rootProject.ext.junit
testCompile rootProject.ext.mockito
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package com.tbruyelle.rxpermissions.sample;


import android.Manifest;
import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Build;

import com.tbruyelle.rxpermissions2.Permission;
import com.tbruyelle.rxpermissions2.RxPermissions;

import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import io.reactivex.Observable;

import static org.mockito.Mockito.when;

/**
* Sample tests for {@link RxPermissions}.
*/
public class RxPermissionsSampleTest {

@Mock
private Activity activity;
@Mock
private RxPermissions rxPermissions;

@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}

@Test
@TargetApi(Build.VERSION_CODES.M)
public void test_permission_denied_dont_ask_again() throws Exception {
// mocks
final String permissionString = Manifest.permission.READ_PHONE_STATE;
final boolean granted = false;
final boolean shouldShowRequestPermissionRationale = false;
final Permission permission = new Permission(permissionString, granted, shouldShowRequestPermissionRationale);
when(rxPermissions.requestEach(permissionString)).thenReturn(Observable.just(permission));
// test
rxPermissions.requestEach(permissionString).test().assertNoErrors().assertValue(permission);
}

}

0 comments on commit ffc7636

Please sign in to comment.