Skip to content
This repository was archived by the owner on Nov 7, 2023. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ android {
buildToolsVersion getExtOrDefault('buildToolsVersion')

defaultConfig {
minSdkVersion 21
minSdkVersion 24
targetSdkVersion getExtOrIntegerDefault('targetSdkVersion')
versionCode 50
versionName "4.0.3"
Expand Down Expand Up @@ -124,7 +124,7 @@ dependencies {

testImplementation 'junit:junit:4.13.1'

androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
//noinspection GradleDependency
androidTestImplementation 'org.mockito:mockito-android:3.4.6'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,77 +13,82 @@

@RunWith(AndroidJUnit4.class)
public class RNEncryptedStorageModuleUnitTest {
private RNEncryptedStorageModule module;

@Before
public void setUp() {
module = new RNEncryptedStorageModule(new ReactApplicationContext(InstrumentationRegistry.getInstrumentation().getTargetContext()));
module.clear(mock(Promise.class));
}

@Test
public void shouldGetAndSet() {
Promise promise1 = mock(Promise.class);
module.getItem("test", promise1);
verify(promise1).resolve(null);

Promise promise2 = mock(Promise.class);
module.setItem("test", "asd", promise2);
verify(promise2).resolve("asd");

Promise promise3 = mock(Promise.class);
module.getItem("test", promise3);
verify(promise3).resolve("asd");
}

@Test
public void shouldRemove() {
Promise promise1 = mock(Promise.class);
module.setItem("test", "asd", promise1);
verify(promise1).resolve("asd");

Promise promise2 = mock(Promise.class);
module.getItem("test", promise2);
verify(promise2).resolve("asd");

Promise promise3 = mock(Promise.class);
module.removeItem("test", promise3);
verify(promise3).resolve("test");

Promise promise4 = mock(Promise.class);
module.getItem("test", promise4);
verify(promise4).resolve(null);
}

@Test
public void shouldClear() {
Promise promise1 = mock(Promise.class);
module.setItem("test", "asd", promise1);
verify(promise1).resolve("asd");

Promise promise2 = mock(Promise.class);
module.getItem("test", promise2);
verify(promise2).resolve("asd");

Promise promise3 = mock(Promise.class);
module.clear(promise3);
verify(promise3).resolve(null);

Promise promise4 = mock(Promise.class);
module.getItem("test", promise4);
verify(promise4).resolve(null);
}

@Test
public void shouldKeepValuesWhenRecreated() {
Promise promise1 = mock(Promise.class);
module.setItem("test", "asd", promise1);
verify(promise1).resolve("asd");

module = new RNEncryptedStorageModule(new ReactApplicationContext(InstrumentationRegistry.getInstrumentation().getTargetContext()));

Promise promise2 = mock(Promise.class);
module.getItem("test", promise2);
verify(promise2).resolve("asd");
}
private RNEncryptedStorageModule module;

@Before
public void setUp() {
ReactApplicationContext reactApplicationContext = mock(ReactApplicationContext.class);

module = new RNEncryptedStorageModule(reactApplicationContext);

module.clear(mock(Promise.class));
}

@Test
public void shouldGetAndSet() {
Promise promise1 = mock(Promise.class);
module.getItem("test", promise1);
verify(promise1).resolve(null);

Promise promise2 = mock(Promise.class);
module.setItem("test", "asd", promise2);
verify(promise2).resolve("asd");

Promise promise3 = mock(Promise.class);
module.getItem("test", promise3);
verify(promise3).resolve("asd");
}

@Test
public void shouldRemove() {
Promise promise1 = mock(Promise.class);
module.setItem("test", "asd", promise1);
verify(promise1).resolve("asd");

Promise promise2 = mock(Promise.class);
module.getItem("test", promise2);
verify(promise2).resolve("asd");

Promise promise3 = mock(Promise.class);
module.removeItem("test", promise3);
verify(promise3).resolve("test");

Promise promise4 = mock(Promise.class);
module.getItem("test", promise4);
verify(promise4).resolve(null);
}

@Test
public void shouldClear() {
Promise promise1 = mock(Promise.class);
module.setItem("test", "asd", promise1);
verify(promise1).resolve("asd");

Promise promise2 = mock(Promise.class);
module.getItem("test", promise2);
verify(promise2).resolve("asd");

Promise promise3 = mock(Promise.class);
module.clear(promise3);
verify(promise3).resolve(null);

Promise promise4 = mock(Promise.class);
module.getItem("test", promise4);
verify(promise4).resolve(null);
}

@Test
public void shouldKeepValuesWhenRecreated() {
Promise promise1 = mock(Promise.class);
module.setItem("test", "asd", promise1);
verify(promise1).resolve("asd");

// Recreate the module with a mocked ReactApplicationContext
ReactApplicationContext reactApplicationContext = mock(ReactApplicationContext.class);
module = new RNEncryptedStorageModule(reactApplicationContext);

Promise promise2 = mock(Promise.class);
module.getItem("test", promise2);
verify(promise2).resolve("asd");
}
}
2 changes: 1 addition & 1 deletion react-native-encrypted-storage.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Pod::Spec.new do |s|
s.license = package["license"]
s.authors = package["author"]

s.platforms = { :ios => "10.0" }
s.platforms = { :ios => "10.0", :tvos => "10.0" }
s.source = { :git => "https://github.com/emeraldsanto/react-native-encrypted-storage.git", :tag => "#{s.version}" }


Expand Down