Skip to content

Merge Feature branches/forms into v.next #520

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 61 commits into from
Jul 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
10504ef
provide public webmap which has forms
Mar 19, 2024
802dab1
`Forms`: Updated radio button tests (#366)
kaushikrw Mar 20, 2024
5cc7aa4
FeatureForm composable KDoc edit (#368)
sorenoid Mar 22, 2024
3cecfe8
add groups to final error validation reporting in the app (#367)
sorenoid Mar 25, 2024
28a967b
`Forms` : Optimize FeatureForm (#369)
kaushikrw Mar 25, 2024
50b4095
agree with exception name change (#377)
sorenoid Mar 28, 2024
9828bf7
use geo-compose in FeatureFormsApp (#378)
sorenoid Mar 29, 2024
4b0a3b5
`Forms`: do not pass a selected date into date picker if it is out of…
sorenoid Apr 1, 2024
2fc10da
remove gif. add screenshots (#381)
sorenoid Apr 2, 2024
7dc9785
`Forms`: fix title padding (#382)
kaushikrw Apr 2, 2024
6198e6b
swap out public webmap for a managed public webmap (#384)
sorenoid Apr 2, 2024
f3d9a15
Merge branch 'v.next' into feature-branches/forms
Apr 2, 2024
71b92ab
Merge branch 'feature-branches/forms' of github.com:Esri/arcgis-maps-…
Apr 2, 2024
12e2c34
`Forms` : Update validation behavior for text fields (#385)
kaushikrw Apr 2, 2024
a9835fa
fix for breaking API change in dependency (#386)
sorenoid Apr 2, 2024
6cfaf98
`Forms` : Refactor expression evaluation (#388)
kaushikrw Apr 9, 2024
29061a6
new content types support
Apr 16, 2024
79ee753
`Forms` : Add OAuth login (#393)
kaushikrw Apr 16, 2024
6f8ebed
`Forms` : Add AGOL Login (#398)
kaushikrw Apr 18, 2024
52ceeeb
Merge branch 'v.next' into feature-branches/forms
Apr 23, 2024
10caf96
`Forms`: Check if map has a FeatureFormDefinition (#399)
kaushikrw Apr 23, 2024
701d4fc
add default credentials for tests (#402)
kaushikrw Apr 25, 2024
df85b33
remove mock api (#404)
kaushikrw Apr 26, 2024
b37b325
`Forms:` attachment FeatureForm initialization support (#401)
sorenoid Apr 26, 2024
198f938
`Forms`: Add theming support (#362)
kaushikrw Apr 30, 2024
56f1eed
`Forms` : Attachment Form Element (#409)
kaushikrw May 3, 2024
b48162c
`Forms` : Add attachments (#416)
kaushikrw May 6, 2024
280f9a1
`Forms` : Fix state references (#418)
kaushikrw May 7, 2024
ebf2aee
Merge branch 'v.next' into feature-branches/forms
kaushikrw May 8, 2024
077d702
show toast on dispatchers.main
kaushikrw May 9, 2024
7c492d4
`Forms`: Delete & rename attachments (#417)
kaushikrw May 13, 2024
5e08263
`Forms` : View Attachments (#422)
kaushikrw May 16, 2024
cb031b9
`Forms` : Add attachment fixes (#425)
kaushikrw May 16, 2024
368be1a
`Forms` Consume new attachments api (#434)
kaushikrw May 22, 2024
e06e28f
`Forms` : File Picker (#440)
kaushikrw May 22, 2024
39a9227
`Forms` : Optimize thumbnail loading for Attachments (#444)
kaushikrw May 29, 2024
027f9d0
wrap startActivity in a try catch (#450)
kaushikrw May 29, 2024
c939618
add attachment limit (#454)
kaushikrw Jun 4, 2024
fddeace
`Forms` : Consume latest api (#453)
kaushikrw Jun 7, 2024
05a459e
`Forms` : Fix FormStateCollection get operator (#457)
kaushikrw Jun 6, 2024
6c79222
bump sdk version
kaushikrw Jun 11, 2024
aa12bbb
`Forms` : Validation for calculated fields (#465)
kaushikrw Jun 14, 2024
1026ae4
fix insertion index (#469)
kaushikrw Jun 17, 2024
bbdc9f8
fixes failing tests (#470)
kaushikrw Jun 20, 2024
12180bc
bump sdk (#471)
kaushikrw Jun 20, 2024
f787f1b
Merge branch 'v.next' into feature-branches/forms
kaushikrw Jun 21, 2024
bd53893
added horizontal scrollbar (#473)
kaushikrw Jun 24, 2024
861993d
`Forms` : Add attachment tests (#480)
kaushikrw Jun 28, 2024
5f48483
`Forms` : Refactor tests (#488)
kaushikrw Jul 1, 2024
f4ede0b
Update CorePrototypes.kt (#494)
kaushikrw Jul 5, 2024
a176072
`Forms` : handle empty attachments (#498)
kaushikrw Jul 8, 2024
a990515
ignore non-default formattachmentelement (#499)
kaushikrw Jul 8, 2024
53ec482
Merge branch 'v.next' into feature-branches/forms
kaushikrw Jul 8, 2024
c3d63f5
`Forms` : Fix strings (#500)
kaushikrw Jul 9, 2024
0fc34a3
`Forms` : Micro-app update oauth credentials (#507)
kaushikrw Jul 10, 2024
8878cf7
refactor generating new attachment names (#505)
kaushikrw Jul 11, 2024
52bc763
`Form` : Attachment theming (#490)
kaushikrw Jul 11, 2024
9d44cad
`Forms` : Consume latest api (#506)
kaushikrw Jul 12, 2024
6d3c3e3
make thumbnails part of the state object (#514)
kaushikrw Jul 16, 2024
4b5606e
Merge branch 'v.next' into feature-branches/forms
kaushikrw Jul 18, 2024
7cc63c1
add attachment size restrictions for loading (#518)
kaushikrw Jul 18, 2024
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
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,4 @@ ignoreBuildNumber=false
# these versions define the dependency of the ArcGIS Maps SDK for Kotlin dependency
# and are generally not overridden at the command line unless a special build is requested.
sdkVersionNumber=200.5.0
sdkBuildNumber=4273
sdkBuildNumber=4297
9 changes: 3 additions & 6 deletions microapps/FeatureFormsApp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,9 @@ for editing Feature attributes.
The application provides a web map gallery and a map viewer which invokes the form when Features are tapped.
Authentication is optional but limited to specific public web maps.

To login to your ArcGIS Online account, click the `Sign in with ArcGIS Online` button in the app. This will open the OAuth page in a new browser window where you can enter the account credentials.
Once you have signed in, you can access the web maps that are shared with your account.

To authenticate using OAuth, provide the Client ID value in `local.properties`. If an OAuth client id
is not provided, the app will prompt a username and password dialog.

```
clientId=YOUR_CLIENT_ID
```
If you'd rather use an ArcGIS Enterprise account, click the `Sign in with ArcGIS Enterprise` button in the app. This will open a dialog prompting for an Enterprise URL followed by another dialog to enter your credentials.

For more information on the `FeatureForm` component and how it works, see it's [Readme](../../toolkit/featureforms/README.md).
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ class LoginViewModel @Inject constructor(
val loginState = _loginState.asStateFlow()

private val oAuthRedirectUri = "featureformsapp://auth"
private val clientId = "iFmvhJGQEKGK1Ahf"

/**
* Save this url to the search history.
Expand All @@ -76,10 +77,10 @@ class LoginViewModel @Inject constructor(
_loginState.value = LoginState.Loading
viewModelScope.launch(Dispatchers.IO) {
authenticatorState.oAuthUserConfiguration =
if (useOAuth && BuildConfig.clientId.isNotBlank())
if (useOAuth)
OAuthUserConfiguration(
portalUrl = url,
clientId = BuildConfig.clientId,
clientId = clientId,
redirectUrl = oAuthRedirectUri,
)
else null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,22 +185,28 @@ class MapViewModel @Inject constructor(
)
// if there are no errors then update the feature
return if (errors.isEmpty()) {
val feature = featureForm.feature
val serviceFeatureTable =
feature.featureTable as? ServiceFeatureTable ?: return Result.failure(
featureForm.feature.featureTable as? ServiceFeatureTable ?: return Result.failure(
IllegalStateException("cannot save feature edit without a ServiceFeatureTable")
)
val result = featureForm.finishEditing().map {
var result = Result.success(Unit)
featureForm.finishEditing().onSuccess {
serviceFeatureTable.serviceGeodatabase?.let { database ->
return@let if (database.serviceInfo?.canUseServiceGeodatabaseApplyEdits == true) {
database.applyEdits()
if (database.serviceInfo?.canUseServiceGeodatabaseApplyEdits == true) {
database.applyEdits().onFailure {
result = Result.failure(it)
}
} else {
serviceFeatureTable.applyEdits()
serviceFeatureTable.applyEdits().onFailure {
result = Result.failure(it)
}
}
}
feature.refresh()
featureForm.feature.refresh()
// unselect the feature after the edits have been saved
(feature.featureTable?.layer as FeatureLayer).clearSelection()
(featureForm.feature.featureTable?.layer as FeatureLayer).clearSelection()
}.onFailure {
result = Result.failure(it)
}
// set the state to not editing since the feature was updated successfully
_uiState.value = UIState.NotEditing
Expand Down
51 changes: 47 additions & 4 deletions toolkit/featureforms/api/featureforms.api
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,44 @@ public final class com/arcgismaps/toolkit/featureforms/ValidationErrorVisibility
public static final field INSTANCE Lcom/arcgismaps/toolkit/featureforms/ValidationErrorVisibility$Visible;
}

public final class com/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors {
public static final field $stable I
public final fun component1-0d7_KjU ()J
public final fun component2-0d7_KjU ()J
public final fun component3-0d7_KjU ()J
public final fun component4-0d7_KjU ()J
public final fun component5-0d7_KjU ()J
public final fun component6-0d7_KjU ()J
public final fun component7-0d7_KjU ()J
public final fun copy-4JmcsL4 (JJJJJJJ)Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors;
public static synthetic fun copy-4JmcsL4$default (Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors;JJJJJJJILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors;
public fun equals (Ljava/lang/Object;)Z
public final fun getContainerColor-0d7_KjU ()J
public final fun getLabelColor-0d7_KjU ()J
public final fun getOutlineColor-0d7_KjU ()J
public final fun getScrollBarColor-0d7_KjU ()J
public final fun getSupportingTextColor-0d7_KjU ()J
public final fun getTileBorderColor-0d7_KjU ()J
public final fun getTileTextColor-0d7_KjU ()J
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class com/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography {
public static final field $stable I
public final fun component1 ()Landroidx/compose/ui/text/TextStyle;
public final fun component2 ()Landroidx/compose/ui/text/TextStyle;
public final fun component3 ()Landroidx/compose/ui/text/TextStyle;
public final fun copy (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography;
public static synthetic fun copy$default (Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;ILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography;
public fun equals (Ljava/lang/Object;)Z
public final fun getLabelStyle ()Landroidx/compose/ui/text/TextStyle;
public final fun getSupportingTextStyle ()Landroidx/compose/ui/text/TextStyle;
public final fun getTileTextStyle ()Landroidx/compose/ui/text/TextStyle;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class com/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors {
public static final field $stable I
public final fun component1-0d7_KjU ()J
Expand Down Expand Up @@ -112,9 +150,11 @@ public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormColorSch
public final fun component2 ()Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;
public final fun component3 ()Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;
public final fun component4 ()Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;
public final fun copy (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme;
public static synthetic fun copy$default (Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme;Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;ILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme;
public final fun component5 ()Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors;
public final fun copy (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors;)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme;
public static synthetic fun copy$default (Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme;Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors;ILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme;
public fun equals (Ljava/lang/Object;)Z
public final fun getAttachmentsElementColors ()Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors;
public final fun getEditableTextFieldColors ()Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;
public final fun getGroupElementColors ()Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;
public final fun getRadioButtonFieldColors ()Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;
Expand All @@ -126,7 +166,9 @@ public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormColorSch
public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults {
public static final field $stable I
public static final field INSTANCE Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults;
public final fun colorScheme (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme;
public final fun attachmentsElementColors-69fazGs (JJJJJJJLandroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors;
public final fun attachmentsElementTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography;
public final fun colorScheme (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme;
public final fun editableTextFieldColors-s9joTbY (JJJJJJJJLandroidx/compose/foundation/text/selection/TextSelectionColors;JJJJJJJJJJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;IIIIII)Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;
public final fun editableTextFieldTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography;
public final fun groupElementColors-zjMxDiM (JJJJJLandroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;
Expand All @@ -135,11 +177,12 @@ public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults
public final fun radioButtonFieldTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography;
public final fun readOnlyFieldColors-ro_MJ88 (JJJJLandroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;
public final fun readOnlyFieldTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography;
public final fun typography (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormTypography;
public final fun typography (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormTypography;
}

public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormTypography {
public static final field $stable I
public final fun getAttachmentsElementTypography ()Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography;
public final fun getEditableTextFieldTypography ()Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography;
public final fun getGroupElementTypography ()Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography;
public final fun getRadioButtonFieldTypography ()Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,15 @@ package com.arcgismaps.toolkit.featureforms

import androidx.compose.ui.graphics.Color
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.hasText
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithContentDescription
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.performClick
import androidx.compose.ui.test.performImeAction
import androidx.compose.ui.test.performScrollToNode
import androidx.compose.ui.test.performTextInput
import androidx.compose.ui.test.printToLog
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import com.arcgismaps.toolkit.featureforms.theme.FeatureFormColorScheme
Expand Down Expand Up @@ -266,4 +270,62 @@ class ThemingTests : FeatureFormTestRunner(
supportingText.assertIsDisplayed()
supportingText.assertTextColor(Color.Green)
}

/**
* Given a FeatureForm with a custom color scheme and typography for attachments elements
* When the FeatureForm is displayed
* Then the custom color scheme and typography are applied to the attachments form elements
*/
@Test
fun testAttachmentsElementTheming() {
var colorScheme: FeatureFormColorScheme
var typography: FeatureFormTypography
composeTestRule.setContent {
colorScheme = FeatureFormDefaults.colorScheme(
attachmentsElementColors = FeatureFormDefaults.attachmentsElementColors(
labelColor = Color.Red,
tileTextColor = Color.Green
)
)
typography = FeatureFormDefaults.typography(
attachmentsElementTypography = FeatureFormDefaults.attachmentsElementTypography(
labelStyle = TextStyle(
fontWeight = FontWeight.ExtraBold
),
tileTextStyle = TextStyle(
fontWeight = FontWeight.ExtraBold,
),
)
)
FeatureForm(
featureForm = featureForm,
colorScheme = colorScheme,
typography = typography
)
}
val attachmentsElement = featureForm.defaultAttachmentsElement
assertThat(attachmentsElement).isNotNull()
// find the scrollable container
val lazyColumn = composeTestRule.onNodeWithContentDescription("lazy column")
lazyColumn.performScrollToNode(hasText(attachmentsElement!!.label))
// scroll until the attachments element is visible
val attachmentsField = composeTestRule.onNodeWithText(attachmentsElement.label)
attachmentsField.printToLog("label")
attachmentsField.assertIsDisplayed()
attachmentsField.assertTextStyle(
TextStyle(
fontWeight = FontWeight.ExtraBold,
color = Color.Red
)
)
// get the first attachment tile
val tile = attachmentsField.onChildWithText(attachmentsElement.attachments.first().name)
tile.assertIsDisplayed()
tile.assertTextStyle(
TextStyle(
fontWeight = FontWeight.ExtraBold,
color = Color.Green
)
)
}
}

This file was deleted.

Loading