Skip to content

Commit

Permalink
Merge branch 'refs/heads/main' into test/common_feature_interactors_u…
Browse files Browse the repository at this point in the history
…nit_tests
  • Loading branch information
ckaitatzis committed Sep 30, 2024
2 parents 0b8e5e8 + 643d5e6 commit b6437d6
Show file tree
Hide file tree
Showing 8 changed files with 55 additions and 43 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ object DocumentDetailsTransformer {
documentId = document.id,
documentName = document.toUiName(resourceProvider),
documentIdentifier = documentIdentifierUi,
documentExpirationDateFormatted = documentExpirationDate.toDateFormatted() ?: "",
documentExpirationDateFormatted = documentExpirationDate.toDateFormatted().orEmpty(),
documentHasExpired = docHasExpired,
documentImage = documentImage,
documentDetails = detailsItems,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ object RequestTransformer {
val values = StringBuilder()
parseKeyValueUi(
json = storageDocument.nameSpacedDataJSONObject.getDocObject(
nameSpace = requestDocument.toDocumentIdentifier().nameSpace
nameSpace = docItem.namespace
)[docItem.elementIdentifier],
groupIdentifier = docItem.elementIdentifier,
resourceProvider = resourceProvider,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ object TestsData {
const val mockedDocUiNameSampleData = "Load Sample Documents"
const val mockedNoUserFistNameFound = ""
const val mockedNoUserBase64PortraitFound = ""
const val mockedNoExpirationDateFound = "-"
const val mockedNoExpirationDateFound = ""
const val mockedFormattedExpirationDate = "30 Mar 2050"
const val mockedDocumentHasExpired = false
const val mockedUserAuthentication = false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ fun Document.toDocumentIdentifier(): DocumentIdentifier {
}

fun RequestDocument.toDocumentIdentifier(): DocumentIdentifier {
val nameSpace = this.docRequest.requestItems.first().namespace
val nameSpace = this.docRequest.requestItems.firstOrNull()?.namespace.orEmpty()
val docType = this.docType

return createDocumentIdentifier(nameSpace, docType)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ import eu.europa.ec.dashboardfeature.model.UserInfo
import eu.europa.ec.eudi.wallet.document.Document
import eu.europa.ec.eudi.wallet.document.DocumentId
import eu.europa.ec.eudi.wallet.document.IssuedDocument
import eu.europa.ec.resourceslogic.R
import eu.europa.ec.resourceslogic.provider.ResourceProvider
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Dispatchers
Expand Down Expand Up @@ -252,25 +251,22 @@ class DashboardInteractorImpl(
private fun Document.toDocumentUiAndUserInfo(mainPid: IssuedDocument?): Pair<DocumentUi, UserInfo> {
when (this) {
is IssuedDocument -> {
var documentExpirationDate = extractValueFromDocumentOrEmpty(
var documentExpirationDate: String = extractValueFromDocumentOrEmpty(
document = this,
key = DocumentJsonKeys.EXPIRY_DATE
)

val docHasExpired = documentHasExpired(documentExpirationDate)

documentExpirationDate = if (documentExpirationDate.isNotBlank()) {
documentExpirationDate.toDateFormatted().toString()
} else {
resourceProvider.getString(R.string.dashboard_document_no_expiration_found)
if (documentExpirationDate.isNotBlank()) {
documentExpirationDate = documentExpirationDate.toDateFormatted().orEmpty()
}

val userFirstName = extractValueFromDocumentOrEmpty(
document = mainPid ?: this,
key = DocumentJsonKeys.FIRST_NAME
)


val userImage = extractValueFromDocumentOrEmpty(
document = this,
key = DocumentJsonKeys.PORTRAIT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -753,29 +753,31 @@ private fun ExpirationInfo(
with(document) {
when (documentIssuanceState) {
DocumentUiIssuanceState.Issued -> {
if (documentHasExpired) {
val annotatedText = buildAnnotatedString {
withStyle(
style = SpanStyle(
fontStyle = textStyle.fontStyle,
color = MaterialTheme.colorScheme.warning
)
) {
append(stringResource(id = R.string.dashboard_document_has_expired_one))
if (documentExpirationDateFormatted.isNotBlank()) {
if (documentHasExpired) {
val annotatedText = buildAnnotatedString {
withStyle(
style = SpanStyle(
fontStyle = textStyle.fontStyle,
color = MaterialTheme.colorScheme.warning
)
) {
append(stringResource(id = R.string.dashboard_document_has_expired_one))
}

append(stringResource(id = R.string.dashboard_document_has_expired_two))
}

append(stringResource(id = R.string.dashboard_document_has_expired_two))
Text(text = annotatedText, style = textStyle)
} else {
Text(
text = stringResource(id = R.string.dashboard_document_has_not_expired),
style = textStyle
)
}
Text(text = annotatedText, style = textStyle)
} else {
Text(
text = stringResource(id = R.string.dashboard_document_has_not_expired),
style = textStyle
)
}

//Expiration Date
Text(text = documentExpirationDateFormatted, style = textStyle)
//Expiration Date
Text(text = documentExpirationDateFormatted, style = textStyle)
}
}

DocumentUiIssuanceState.Pending -> {
Expand Down Expand Up @@ -826,40 +828,60 @@ private fun DashboardScreenPreview() {
documentIdentifier = DocumentIdentifier.PID,
documentExpirationDateFormatted = "30 Mar 2050",
documentHasExpired = false,
documentImage = "image1",
documentImage = "image0",
documentDetails = emptyList(),
documentIssuanceState = DocumentUiIssuanceState.Issued
),
DocumentUi(
documentId = "1",
documentName = "National ID",
documentIdentifier = DocumentIdentifier.PID,
documentExpirationDateFormatted = "",
documentHasExpired = false,
documentImage = "image1",
documentDetails = emptyList(),
documentIssuanceState = DocumentUiIssuanceState.Issued
),
DocumentUi(
documentId = "2",
documentName = "National ID",
documentIdentifier = DocumentIdentifier.PID,
documentExpirationDateFormatted = "",
documentHasExpired = true,
documentImage = "image2",
documentDetails = emptyList(),
documentIssuanceState = DocumentUiIssuanceState.Issued
),
DocumentUi(
documentId = "3",
documentName = "Driving License",
documentIdentifier = DocumentIdentifier.MDL,
documentExpirationDateFormatted = "25 Dec 2050",
documentHasExpired = false,
documentImage = "image2",
documentImage = "image3",
documentDetails = emptyList(),
documentIssuanceState = DocumentUiIssuanceState.Pending
),
DocumentUi(
documentId = "2",
documentId = "4",
documentName = "Other",
documentIdentifier = DocumentIdentifier.OTHER(
nameSpace = "",
docType = ""
),
documentExpirationDateFormatted = "01 Jun 2020",
documentHasExpired = true,
documentImage = "image3",
documentImage = "image4",
documentDetails = emptyList(),
documentIssuanceState = DocumentUiIssuanceState.Pending
),
DocumentUi(
documentId = "3",
documentId = "5",
documentName = "National ID",
documentIdentifier = DocumentIdentifier.PID,
documentExpirationDateFormatted = "30 Mar 2050",
documentHasExpired = false,
documentImage = "image1",
documentImage = "image5",
documentDetails = emptyList(),
documentIssuanceState = DocumentUiIssuanceState.Failed
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import eu.europa.ec.commonfeature.model.DocumentUi
import eu.europa.ec.commonfeature.util.TestsData.mockedFullDocumentsUi
import eu.europa.ec.commonfeature.util.TestsData.mockedMdlUiWithNoExpirationDate
import eu.europa.ec.commonfeature.util.TestsData.mockedMdlUiWithNoUserNameAndNoUserImage
import eu.europa.ec.commonfeature.util.TestsData.mockedNoExpirationDateFound
import eu.europa.ec.commonfeature.util.TestsData.mockedNoUserBase64PortraitFound
import eu.europa.ec.commonfeature.util.TestsData.mockedNoUserFistNameFound
import eu.europa.ec.commonfeature.util.TestsData.mockedPendingMdlUi
Expand All @@ -46,7 +45,6 @@ import eu.europa.ec.eudi.wallet.EudiWalletConfig
import eu.europa.ec.eudi.wallet.document.Document
import eu.europa.ec.eudi.wallet.document.DocumentId
import eu.europa.ec.eudi.wallet.document.IssuedDocument
import eu.europa.ec.resourceslogic.R
import eu.europa.ec.resourceslogic.provider.ResourceProvider
import eu.europa.ec.testfeature.MockResourceProviderForStringCalls.mockDocumentTypeUiToUiNameCall
import eu.europa.ec.testfeature.mockedExceptionWithMessage
Expand Down Expand Up @@ -829,9 +827,6 @@ class TestDashboardInteractor {

private fun mockGetStringForDocumentsCall(resourceProvider: ResourceProvider) {
mockDocumentTypeUiToUiNameCall(resourceProvider)

whenever(resourceProvider.getString(R.string.dashboard_document_no_expiration_found))
.thenReturn(mockedNoExpirationDateFound)
}

private fun mockGetMainPidDocumentCall(mainPid: IssuedDocument?) {
Expand Down
1 change: 0 additions & 1 deletion resources-logic/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,6 @@
<string name="dashboard_document_has_not_expired">Valid until</string>
<string name="dashboard_document_has_expired_one">Expired\ </string>
<string name="dashboard_document_has_expired_two">on</string>
<string name="dashboard_document_no_expiration_found">@string/generic_dash</string>
<string name="dashboard_document_deferred_pending">Pending</string>
<string name="dashboard_document_deferred_failed">Issuance failed</string>
<string name="dashboard_primary_fab_text">SHOW QR / TAP</string>
Expand Down

0 comments on commit b6437d6

Please sign in to comment.