Skip to content
Merged
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
12 changes: 9 additions & 3 deletions common/config/jacoco-settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,16 @@ android {
}
}

def fileFilter = ['**/BuildConfig.*']
def fileFilter = ['**/BuildConfig.*',
'**/com/hyperwallet/android/ui/common/view/error/DefaultErrorDialogFragment.*',
'**/com/hyperwallet/android/ui/common/view/HorizontalDividerItemDecorator.*',
'**/com/hyperwallet/android/ui/common/view/OneClickListener.*',
'**/com/hyperwallet/android/ui/common/util/EspressoIdlingResource.*',
'**/com/hyperwallet/android/ui/common/viewmodel/Event.*'
]

def debugClassPaths = [
'**/intermediates/javac/dev/*/classes/**'
'**/intermediates/javac/debug/*/classes/**'
]

final def coverageSourceDirs = ["$project.projectDir/src/main/java/*"]
Expand All @@ -48,7 +54,7 @@ task jacocoTestReport(type: JacocoReport, dependsOn: 'testDebugUnitTest') {

additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
executionData = files("${buildDir}/jacoco/testDevUnitTest.exec")
executionData = files("${buildDir}/jacoco/testDebugUnitTest.exec")
}

task jacocoTestCoverageVerification(type: JacocoCoverageVerification, dependsOn: 'jacocoTestReport') {
Expand Down
15 changes: 9 additions & 6 deletions receipt/config/jacoco-settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,14 @@ android {
}
}

def fileFilter = ['**/BuildConfig.*']
def fileFilter = ['**/BuildConfig.*',
'**/com/hyperwallet/android/ui/receipt/view/*.*',
'**/com/hyperwallet/android/ui/receipt/viewmodel/*.*',
'**/com/hyperwallet/android/ui/receipt/repository/ReceiptRepositoryImpl.*'
]

def debugClassPaths = [
'**/intermediates/javac/dev/*/classes/**'
'**/intermediates/javac/debug/*/classes/**'
]

final def coverageSourceDirs = ["$project.projectDir/src/main/java/*"]
Expand All @@ -32,11 +36,10 @@ task jacocoTestReport(type: JacocoReport, dependsOn: 'testDebugUnitTest') {

group = 'Reporting'
description = 'Generate Jacoco coverage reports.'

reports {
html {
enabled = true
destination file("$buildDir/reports/jacoco")
destination file("$project.buildDir/reports/jacoco")
}
}

Expand All @@ -48,7 +51,7 @@ task jacocoTestReport(type: JacocoReport, dependsOn: 'testDebugUnitTest') {

additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
executionData = files("${buildDir}/jacoco/testDevUnitTest.exec")
executionData = files("${project.buildDir}/jacoco/testDebugUnitTest.exec")
}

task jacocoTestCoverageVerification(type: JacocoCoverageVerification, dependsOn: 'jacocoTestReport') {
Expand All @@ -61,7 +64,7 @@ task jacocoTestCoverageVerification(type: JacocoCoverageVerification, dependsOn:
)
additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
executionData = files("${buildDir}/jacoco/testDebugUnitTest.exec")
executionData = files("${project.buildDir}/jacoco/testDebugUnitTest.exec")

violationRules {
setFailOnViolation(true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import androidx.paging.PageKeyedDataSource;
Expand Down Expand Up @@ -194,8 +195,9 @@ Hyperwallet getHyperwallet() {
return Hyperwallet.getDefault();
}

private Date getNextDate(@Nullable final HyperwalletPageList<Receipt> result) {
if (result != null && result.getDataList() != null && !result.getDataList().isEmpty()) {
@VisibleForTesting
Date getNextDate(@NonNull final HyperwalletPageList<Receipt> result) {
if (result.getDataList() != null && !result.getDataList().isEmpty()) {
// get last receipt date
return DateUtil.fromDateTimeString(
result.getDataList().get(result.getDataList().size() - 1).getCreatedOn());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import com.hyperwallet.android.util.DateUtil;

import org.hamcrest.Matchers;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Rule;
Expand Down Expand Up @@ -395,4 +396,11 @@ public Object answer(InvocationOnMock invocation) {
ArgumentMatchers.<PageKeyedDataSource.LoadParams<Date>>any(),
ArgumentMatchers.<PageKeyedDataSource.LoadCallback<Date, Receipt>>any());
}

@Test
public void testGetNextDate_verifyDefaultValue() {
Date date = mPrepaidCardReceiptDataSource.getNextDate(new HyperwalletPageList<Receipt>(null));
assertThat(date, is(notNullValue()));
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package com.hyperwallet.android.ui.receipt.repository;


import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.notNullValue;
import static org.junit.Assert.assertTrue;

import androidx.lifecycle.LiveData;
import androidx.paging.PagedList;

import com.hyperwallet.android.model.HyperwalletErrors;
import com.hyperwallet.android.model.receipt.Receipt;
import com.hyperwallet.android.ui.common.viewmodel.Event;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;

@RunWith(RobolectricTestRunner.class)
public class PrepaidCardReceiptRepositoryImplTest {


private PrepaidCardReceiptRepository mPrepaidCardReceiptRepository = new PrepaidCardReceiptRepositoryImpl(
"trm-aa308d58-75b4-432b-dec1-eb6b9e341111");

@Test
public void testLoadPrepaidCardReceipts_returnsLiveData() {
LiveData<PagedList<Receipt>> result = mPrepaidCardReceiptRepository.loadPrepaidCardReceipts();
assertThat(result, is(notNullValue()));
LiveData<PagedList<Receipt>> result2 = mPrepaidCardReceiptRepository.loadPrepaidCardReceipts();
assertTrue(result == result2);
}

@Test
public void testLoadPrepaidCardReceipts_liveDataSingleInstantiation() {
LiveData<PagedList<Receipt>> result = mPrepaidCardReceiptRepository.loadPrepaidCardReceipts();
LiveData<PagedList<Receipt>> result2 = mPrepaidCardReceiptRepository.loadPrepaidCardReceipts();
assertTrue(result == result2);
}

@Test
public void testIsLoading_returnsLiveData() {
LiveData<Boolean> result = mPrepaidCardReceiptRepository.isLoading();
assertThat(result, is(notNullValue()));
}

@Test
public void testIsLoading_liveDataSingleInstantiation() {
LiveData<Boolean> result = mPrepaidCardReceiptRepository.isLoading();
LiveData<Boolean> result2 = mPrepaidCardReceiptRepository.isLoading();
assertTrue(result == result2);

}

@Test
public void testGetErrors_returnsLiveData() {
LiveData<Event<HyperwalletErrors>> result = mPrepaidCardReceiptRepository.getErrors();
assertThat(result, is(notNullValue()));
}

@Test
public void testGetErrors_liveDataSingleInstantiation() {
LiveData<Event<HyperwalletErrors>> result = mPrepaidCardReceiptRepository.getErrors();
LiveData<Event<HyperwalletErrors>> result2 = mPrepaidCardReceiptRepository.getErrors();
assertTrue(result == result2);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package com.hyperwallet.android.ui.receipt.repository;


import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.notNullValue;
import static org.junit.Assert.assertTrue;

import androidx.lifecycle.LiveData;
import androidx.paging.PagedList;

import com.hyperwallet.android.model.HyperwalletErrors;
import com.hyperwallet.android.model.receipt.Receipt;
import com.hyperwallet.android.ui.common.viewmodel.Event;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;

@RunWith(RobolectricTestRunner.class)
public class UserReceiptRepositoryImplTest {


private UserReceiptRepository mUserReceiptRepository = new UserReceiptRepositoryImpl();

@Test
public void testLoadUserReceipts_returnsLiveData() {
LiveData<PagedList<Receipt>> result = mUserReceiptRepository.loadUserReceipts();
assertThat(result, is(notNullValue()));
LiveData<PagedList<Receipt>> result2 = mUserReceiptRepository.loadUserReceipts();
assertTrue(result == result2);
}

@Test
public void testLoadUserReceipts_liveDataSingleInstantiation() {
LiveData<PagedList<Receipt>> result = mUserReceiptRepository.loadUserReceipts();
LiveData<PagedList<Receipt>> result2 = mUserReceiptRepository.loadUserReceipts();
assertTrue(result == result2);
}

@Test
public void testIsLoading_returnsLiveData() {
LiveData<Boolean> result = mUserReceiptRepository.isLoading();
assertThat(result, is(notNullValue()));
}

@Test
public void testIsLoading_liveDataSingleInstantiation() {
LiveData<Boolean> result = mUserReceiptRepository.isLoading();
LiveData<Boolean> result2 = mUserReceiptRepository.isLoading();
assertTrue(result == result2);

}

@Test
public void testGetErrors_returnsLiveData() {
LiveData<Event<HyperwalletErrors>> result = mUserReceiptRepository.getErrors();
assertThat(result, is(notNullValue()));
}

@Test
public void testGetErrors_liveDataSingleInstantiation() {
LiveData<Event<HyperwalletErrors>> result = mUserReceiptRepository.getErrors();
LiveData<Event<HyperwalletErrors>> result2 = mUserReceiptRepository.getErrors();
assertTrue(result == result2);
}


}
8 changes: 4 additions & 4 deletions ui/config/jacoco-settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ def fileFilter = ['**/BuildConfig.*',
'**/com/hyperwallet/android/ui/transfermethod/TransferMethodSelectionItem.*',
'**/com/hyperwallet/android/ui/transfermethod/TransferMethodUtils.*',
'**/com/hyperwallet/android/ui/view/HorizontalDividerItemDecorator.*',
'**/com/hyperwallet/android/ui/view/widget/*']

'**/com/hyperwallet/android/ui/view/widget/*'
]
def debugClassPaths = [
'**/intermediates/javac/dev/*/classes/**'
'**/intermediates/javac/debug/*/classes/**'
]

final def coverageSourceDirs = ["$project.projectDir/src/main/java/*"]
Expand All @@ -55,7 +55,7 @@ task jacocoTestReport(type: JacocoReport, dependsOn: 'testDebugUnitTest') {

additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
executionData = files("${buildDir}/jacoco/testDevUnitTest.exec")
executionData = files("${buildDir}/jacoco/testDebugUnitTest.exec")
}

task jacocoTestCoverageVerification(type: JacocoCoverageVerification, dependsOn: 'jacocoTestReport') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -196,12 +196,12 @@ public void testAddTransferMethod_displaysFeeElementsOnTmcResponse() {
matches(withText(R.string.add_transfer_method_fee_label)));
onView(withId(R.id.add_transfer_method_fee_value)).check(matches(withText("USD 2.00")));

//TODO: Uncomment when processing time node is implemented
// onView(withId(R.id.add_transfer_method_processing_label)).check(
// matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)));
// onView(withId(R.id.add_transfer_method_processing_label)).check(
// matches(withText(R.string.add_transfer_method_processing_time_label)));
// onView(withId(R.id.add_transfer_method_fee_value)).check(matches(withText("1 - 2 Business Days")));
onView(withId(R.id.add_transfer_method_processing_label))
.check(matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)));
onView(withId(R.id.add_transfer_method_processing_label))
.check(matches(withText(R.string.add_transfer_method_processing_time_label)));
onView(withId(R.id.add_transfer_method_processing_time_value))
.check(matches(withText("1-2 Business days")));
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,12 +155,11 @@ public void testAddTransferMethod_displaysFeeElementsOnTmcResponse() {
matches(withText(R.string.add_transfer_method_fee_label)));
onView(withId(R.id.add_transfer_method_fee_value)).check(matches(withText("USD 1.75")));

//TODO: Uncomment when processing time node is implemented
// onView(withId(R.id.add_transfer_method_processing_label)).check(
// matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)));
// onView(withId(R.id.add_transfer_method_processing_label)).check(
// matches(withText(R.string.add_transfer_method_processing_time_label)));
// onView(withId(R.id.add_transfer_method_fee_value)).check(matches(withText("1 - 2 Business Days")));
onView(withId(R.id.add_transfer_method_processing_label)).check(
matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)));
onView(withId(R.id.add_transfer_method_processing_label)).check(
matches(withText(R.string.add_transfer_method_processing_time_label)));
onView(withId(R.id.add_transfer_method_processing_time_value)).check(matches(withText("IMMEDIATE")));
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,12 +150,11 @@ public void testAddTransferMethod_displaysFeeElementsOnTmcResponse() {
matches(withText(R.string.add_transfer_method_fee_label)));
onView(withId(R.id.add_transfer_method_fee_value)).check(matches(withText("USD 0.25")));

//TODO: Uncomment when processing time node is implemented
// onView(withId(R.id.add_transfer_method_processing_label)).check(
// matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)));
// onView(withId(R.id.add_transfer_method_processing_label)).check(
// matches(withText(R.string.add_transfer_method_processing_time_label)));
// onView(withId(R.id.add_transfer_method_fee_value)).check(matches(withText("IMMEDIATE")));
onView(withId(R.id.add_transfer_method_processing_label)).check(
matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)));
onView(withId(R.id.add_transfer_method_processing_label)).check(
matches(withText(R.string.add_transfer_method_processing_time_label)));
onView(withId(R.id.add_transfer_method_processing_time_value)).check(matches(withText("IMMEDIATE")));

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,8 @@ public void testSelectTransferMethod_verifyTransferMethodsList() {
matches(atPosition(1, hasDescendant(withText(R.string.bank_card)))));
onView(withId(R.id.select_transfer_method_types_list)).check(
matches(atPosition(1, hasDescendant(withText("Transaction Fee: USD 1.75")))));
onView(withId(R.id.select_transfer_method_types_list)).check(
matches(atPosition(1, hasDescendant(withText("Processing Time: IMMEDIATE")))));

onView(withId(R.id.select_transfer_method_types_list)).check(
matches(atPosition(2, hasDescendant(withText(R.string.wire_account_font_icon)))));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,7 @@ interface LoadKeysCallback {

interface LoadFieldsCallback {

void onFieldsLoaded(@Nullable final HyperwalletTransferMethodConfigurationField field,
@Nullable final String processingTime);
void onFieldsLoaded(@Nullable final HyperwalletTransferMethodConfigurationField field);

void onError(@NonNull final HyperwalletErrors errors);
}
Expand Down
Loading