Skip to content
This repository was archived by the owner on Mar 16, 2019. It is now read-only.

Commit 06685e4

Browse files
committed
Change test reporter
1 parent 2e35075 commit 06685e4

File tree

3 files changed

+103
-73
lines changed

3 files changed

+103
-73
lines changed

test/react-native-testkit/components/reporter.js

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ export default class Reporter extends Component {
2020
constructor(props:any) {
2121
super(props)
2222
this.tests = {
23+
summary : [{}],
2324
common : []
2425
}
25-
this.testGroups = ['common']
26+
this.testGroups = ['summary','common']
2627
this.ds = null
2728
this.updateDataSource()
2829

@@ -50,11 +51,29 @@ export default class Reporter extends Component {
5051
/>)
5152
}
5253

53-
renderTest(t) {
54+
renderTest(t, group) {
55+
5456
let pass = true
5557
let foundActions = false
5658
let tests = RNTEST.TestContext.getTests()
5759

60+
if(group === 'summary')
61+
{
62+
let passed = 0
63+
let executed = 0
64+
let count = 0
65+
for(let i in tests) {
66+
count++
67+
if(tests[i].executed)
68+
passed += tests[i].status === 'pass' ? 1 : 0
69+
}
70+
return (<View style={{flex : 1}}>
71+
<Text>{`${count} test cases`}</Text>
72+
<Text>{`${executed} tests executed`}</Text>
73+
<Text>{`${ParseFloat(pass/count).toFixed(2)}% tests passed`}</Text>
74+
</View>)
75+
}
76+
5877
if(Array.isArray(t.result) && !t.expired) {
5978
t.result = t.result.map((r) => {
6079
if(r.type.name === 'Assert' || r.type.name === 'Info') {

test/react-native-testkit/lib/test-context.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ let tests: Array<TestCase> = []
44
let RCTContext: ReactElement = null
55
let props:any = {}
66
let timeout = 30000
7+
let summary = {}
78

89
export default class TestContext {
910

@@ -146,6 +147,16 @@ export default class TestContext {
146147
static update(i, ...data) {
147148
let test = tests[i]
148149
let result = test.result || []
150+
// if new element have prop `uid`, we should replace it not appending it.
151+
for(let i in data) {
152+
if(data[i].props.uid) {
153+
for(let j in result) {
154+
if(result[j].uid === data[i].props.uid)
155+
result[j] = data[i]
156+
break
157+
}
158+
}
159+
}
149160
Object.assign(test, {result : [...result, ...data]})
150161
RCTContext.forceUpdate()
151162
}

test/test-0.6.2.js

Lines changed: 71 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -76,74 +76,74 @@ describe('Upload multipart data with file from CameraRoll', (report, done) => {
7676
})
7777
})
7878

79-
//
80-
// describe('access assets from camera roll', (report, done) => {
81-
// let photo = null
82-
// CameraRoll.getPhotos({first : 10})
83-
// .then((resp) => {
84-
// photo = resp.edges[0].node.image.uri
85-
// report(<Info key="items">
86-
// <Text>{photo}</Text>
87-
// </Info>)
88-
// return fs.readFile(photo, 'base64')
89-
// })
90-
// .then((data) => {
91-
// report(<Info key="asset image">
92-
// <Image
93-
// style={styles.image}
94-
// source={{uri: `data:image/png;base64, ${data}`}}/>
95-
// </Info>)
96-
// done()
97-
// })
98-
// })
99-
//
100-
// describe('read asset in app bundle',(report, done) => {
101-
// let target = fs.asset('test-asset2.png')
102-
// fs.readFile(target, 'base64')
103-
// .then((data) => {
104-
// report(<Info key="asset image">
105-
// <Image
106-
// style={styles.image}
107-
// source={{uri: `data:image/png;base64, ${data}`}}/>
108-
// </Info>)
109-
// return fs.readFile(fs.asset('test-asset1.json'), 'utf8')
110-
// })
111-
// .then((resp) => {
112-
// report(
113-
// <Assert key="asset content verify"
114-
// expect="asset#1"
115-
// actual={JSON.parse(resp).secret}/>)
116-
// done()
117-
// })
118-
// })
119-
//
120-
// describe('stat assets in app', (report, done) => {
121-
// fs.stat(fs.asset('test-asset2.png'))
122-
// .then((data) => {
123-
// report(<Info key="list of assets">
124-
// <Text>{JSON.stringify(data)}</Text>
125-
// </Info>)
126-
// done()
127-
// })
128-
// })
129-
//
130-
// describe('copy asset', (report, done) => {
131-
// let dest = `${dirs.DocumentDir}/test-asset-1-${Date.now()}.json`
132-
// fs.cp(fs.asset('test-asset1.json'), dest)
133-
// .then(() => fs.readFile(dest, 'utf8'))
134-
// .then((data) => {
135-
// report(<Assert key="asset copied correctly"
136-
// expect={'asset#1'}
137-
// actual={JSON.parse(data).secret}/>)
138-
// return fs.stat(fs.asset('test-asset1.json'))
139-
// })
140-
// .then((stat) => {
141-
// report(<Assert key="file size check"
142-
// expect={27}
143-
// actual={Math.floor(stat.size)}/>,
144-
// <Info key="dest file info">
145-
// <Text>{JSON.stringify(stat)}</Text>
146-
// </Info>)
147-
// done()
148-
// })
149-
// })
79+
80+
describe('access assets from camera roll', (report, done) => {
81+
let photo = null
82+
CameraRoll.getPhotos({first : 10})
83+
.then((resp) => {
84+
photo = resp.edges[0].node.image.uri
85+
report(<Info key="items">
86+
<Text>{photo}</Text>
87+
</Info>)
88+
return fs.readFile(photo, 'base64')
89+
})
90+
.then((data) => {
91+
report(<Info key="asset image">
92+
<Image
93+
style={styles.image}
94+
source={{uri: `data:image/png;base64, ${data}`}}/>
95+
</Info>)
96+
done()
97+
})
98+
})
99+
100+
describe('read asset in app bundle',(report, done) => {
101+
let target = fs.asset('test-asset2.png')
102+
fs.readFile(target, 'base64')
103+
.then((data) => {
104+
report(<Info key="asset image">
105+
<Image
106+
style={styles.image}
107+
source={{uri: `data:image/png;base64, ${data}`}}/>
108+
</Info>)
109+
return fs.readFile(fs.asset('test-asset1.json'), 'utf8')
110+
})
111+
.then((resp) => {
112+
report(
113+
<Assert key="asset content verify"
114+
expect="asset#1"
115+
actual={JSON.parse(resp).secret}/>)
116+
done()
117+
})
118+
})
119+
120+
describe('stat assets in app', (report, done) => {
121+
fs.stat(fs.asset('test-asset2.png'))
122+
.then((data) => {
123+
report(<Info key="list of assets">
124+
<Text>{JSON.stringify(data)}</Text>
125+
</Info>)
126+
done()
127+
})
128+
})
129+
130+
describe('copy asset', (report, done) => {
131+
let dest = `${dirs.DocumentDir}/test-asset-1-${Date.now()}.json`
132+
fs.cp(fs.asset('test-asset1.json'), dest)
133+
.then(() => fs.readFile(dest, 'utf8'))
134+
.then((data) => {
135+
report(<Assert key="asset copied correctly"
136+
expect={'asset#1'}
137+
actual={JSON.parse(data).secret}/>)
138+
return fs.stat(fs.asset('test-asset1.json'))
139+
})
140+
.then((stat) => {
141+
report(<Assert key="file size check"
142+
expect={27}
143+
actual={Math.floor(stat.size)}/>,
144+
<Info key="dest file info">
145+
<Text>{JSON.stringify(stat)}</Text>
146+
</Info>)
147+
done()
148+
})
149+
})

0 commit comments

Comments
 (0)