@@ -15,143 +15,43 @@ class FactsCardTest {
1515 private val testHeadline = " Priced in Bitcoin, products can become cheaper over time."
1616
1717 @Test
18- fun testFactsCardWithAllElements () {
19- // Arrange & Act
18+ fun testFactsCardShowsHeadlineAndBitcoinBadge () {
2019 composeTestRule.setContent {
2120 AppThemeSurface {
22- FactsCard (
23- showWidgetTitle = true ,
24- showSource = true ,
25- headline = testHeadline
26- )
21+ FactsCard (headline = testHeadline)
2722 }
2823 }
2924
30- // Assert all elements exist
31- composeTestRule.onNodeWithTag(" widget_title_row" , useUnmergedTree = true ).assertExists()
32- composeTestRule.onNodeWithTag(" widget_title_icon" , useUnmergedTree = true ).assertExists()
33- composeTestRule.onNodeWithTag(" widget_title_text" , useUnmergedTree = true ).assertExists()
3425 composeTestRule.onNodeWithTag(" headline_text" , useUnmergedTree = true ).assertExists()
35- composeTestRule.onNodeWithTag(" source_row" , useUnmergedTree = true ).assertExists()
36- composeTestRule.onNodeWithTag(" source_label" , useUnmergedTree = true ).assertExists()
37- composeTestRule.onNodeWithTag(" source_text" , useUnmergedTree = true ).assertExists()
38-
39- // Verify text content
40- composeTestRule.onNodeWithTag(" headline_text" , useUnmergedTree = true ).assertTextEquals(testHeadline)
41- composeTestRule.onNodeWithTag(" source_text" , useUnmergedTree = true ).assertTextEquals(" synonym.to" )
42- }
43-
44- @Test
45- fun testFactsCardWithoutWidgetTitle () {
46- // Arrange & Act
47- composeTestRule.setContent {
48- AppThemeSurface {
49- FactsCard (
50- showWidgetTitle = false ,
51- showSource = true ,
52- headline = testHeadline
53- )
54- }
55- }
56-
57- // Assert main elements exist
58- composeTestRule.onNodeWithTag(" headline_text" , useUnmergedTree = true ).assertExists()
59- composeTestRule.onNodeWithTag(" source_row" , useUnmergedTree = true ).assertExists()
60-
61- // Assert widget title elements do not exist
62- composeTestRule.onNodeWithTag(" widget_title_row" , useUnmergedTree = true ).assertDoesNotExist()
63- composeTestRule.onNodeWithTag(" widget_title_icon" , useUnmergedTree = true ).assertDoesNotExist()
64- composeTestRule.onNodeWithTag(" widget_title_text" , useUnmergedTree = true ).assertDoesNotExist()
65- }
66-
67- @Test
68- fun testFactsCardWithoutSource () {
69- // Arrange & Act
70- composeTestRule.setContent {
71- AppThemeSurface {
72- FactsCard (
73- showWidgetTitle = true ,
74- showSource = false ,
75- headline = testHeadline
76- )
77- }
78- }
79-
80- // Assert main elements exist
81- composeTestRule.onNodeWithTag(" widget_title_row" , useUnmergedTree = true ).assertExists()
82- composeTestRule.onNodeWithTag(" headline_text" , useUnmergedTree = true ).assertExists()
83-
84- // Assert source elements do not exist
85- composeTestRule.onNodeWithTag(" source_row" , useUnmergedTree = true ).assertDoesNotExist()
86- composeTestRule.onNodeWithTag(" source_label" , useUnmergedTree = true ).assertDoesNotExist()
87- composeTestRule.onNodeWithTag(" source_text" , useUnmergedTree = true ).assertDoesNotExist()
88- }
89-
90- @Test
91- fun testFactsCardMinimal () {
92- // Arrange & Act - Only headline shown
93- composeTestRule.setContent {
94- AppThemeSurface {
95- FactsCard (
96- showWidgetTitle = false ,
97- showSource = false ,
98- headline = testHeadline
99- )
100- }
101- }
102-
103- // Assert only essential elements exist
104- composeTestRule.onNodeWithTag(" headline_text" , useUnmergedTree = true ).assertExists()
105-
106- // Assert optional elements do not exist
107- composeTestRule.onNodeWithTag(" widget_title_row" , useUnmergedTree = true ).assertDoesNotExist()
108- composeTestRule.onNodeWithTag(" source_row" , useUnmergedTree = true ).assertDoesNotExist()
109-
110- // Verify headline text
26+ composeTestRule.onNodeWithTag(" bitcoin_badge" , useUnmergedTree = true ).assertExists()
11127 composeTestRule.onNodeWithTag(" headline_text" , useUnmergedTree = true ).assertTextEquals(testHeadline)
11228 }
11329
11430 @Test
11531 fun testFactsCardWithLongHeadline () {
116- // Arrange
11732 val longHeadline = " This is a very long fact that should be truncated because it exceeds " +
11833 " the maximum number of lines allowed in the facts card component and should show ellipsis"
11934
120- // Act
12135 composeTestRule.setContent {
12236 AppThemeSurface {
123- FactsCard (
124- showWidgetTitle = true ,
125- showSource = true ,
126- headline = longHeadline
127- )
37+ FactsCard (headline = longHeadline)
12838 }
12939 }
13040
131- // Assert headline exists and contains the text (may be truncated)
13241 composeTestRule.onNodeWithTag(" headline_text" , useUnmergedTree = true ).assertExists()
42+ composeTestRule.onNodeWithTag(" bitcoin_badge" , useUnmergedTree = true ).assertExists()
13343 }
13444
13545 @Test
136- fun testAllElementsExistInFullConfiguration () {
137- // Arrange & Act
46+ fun testFactsCardSmallShowsHeadlineAndBitcoinBadge () {
13847 composeTestRule.setContent {
13948 AppThemeSurface {
140- FactsCard (
141- showWidgetTitle = true ,
142- showSource = true ,
143- headline = testHeadline
144- )
49+ FactsCardSmall (headline = testHeadline)
14550 }
14651 }
14752
148- // Assert all tagged elements exist
149- composeTestRule.onNodeWithTag(" widget_title_row" , useUnmergedTree = true ).assertExists()
150- composeTestRule.onNodeWithTag(" widget_title_icon" , useUnmergedTree = true ).assertExists()
151- composeTestRule.onNodeWithTag(" widget_title_text" , useUnmergedTree = true ).assertExists()
15253 composeTestRule.onNodeWithTag(" headline_text" , useUnmergedTree = true ).assertExists()
153- composeTestRule.onNodeWithTag(" source_row" , useUnmergedTree = true ).assertExists()
154- composeTestRule.onNodeWithTag(" source_label" , useUnmergedTree = true ).assertExists()
155- composeTestRule.onNodeWithTag(" source_text" , useUnmergedTree = true ).assertExists()
54+ composeTestRule.onNodeWithTag(" bitcoin_badge" , useUnmergedTree = true ).assertExists()
55+ composeTestRule.onNodeWithTag(" headline_text" , useUnmergedTree = true ).assertTextEquals(testHeadline)
15656 }
15757}
0 commit comments