xref: /expo/apps/test-suite/components/DoneText.js (revision 3ac4394c)
1import React from 'react';
2import { StyleSheet, Text, View } from 'react-native';
3
4export default function DoneText({ done, numFailed, results }) {
5  return (
6    <View testID="test_suite_results" style={styles.container}>
7      {!done && (
8        <Text testID="test_suite_loading_results" style={styles.doneMessage}>
9          Running Tests...
10        </Text>
11      )}
12      {done && (
13        <Text testID="test_suite_text_results" style={styles.doneMessage}>
14          Complete: {numFailed}
15          {numFailed === 1 ? ' test' : ' tests'} failed.
16        </Text>
17      )}
18      {done && (
19        <Text style={styles.finalResults} pointerEvents="none" testID="test_suite_final_results">
20          {results}
21        </Text>
22      )}
23    </View>
24  );
25}
26
27const styles = StyleSheet.create({
28  container: {
29    paddingHorizontal: 16,
30    paddingVertical: 8,
31  },
32  finalResults: {
33    // Hide text for Detox to read
34    position: 'absolute',
35    opacity: 0,
36  },
37  doneMessage: {
38    fontWeight: 'bold',
39    fontSize: 16,
40  },
41});
42