|
@@ -64,31 +64,36 @@ describe('firebase login', (report, done) => {
|
64
|
64
|
|
65
|
65
|
describe('upload file to firebase', (report, done) => {
|
66
|
66
|
|
67
|
|
- try {
|
68
|
|
- let blob = new Blob(RNTest.prop('image'), 'application/octet-binary')
|
69
|
|
- blob.onCreated(() => {
|
70
|
|
- let storage = firebase.storage().ref()
|
71
|
|
- let task = storage
|
72
|
|
- .child(`testdata/firebase-test-${Platform.OS}.png`)
|
73
|
|
- .put(blob, { contentType : 'image/png' })
|
74
|
|
-
|
75
|
|
- task.on('state_change', null, (err) => {
|
76
|
|
-
|
77
|
|
- }, () => {
|
|
67
|
+ // create Blob from BASE64 data
|
|
68
|
+ let blob = new Blob(RNTest.prop('image'), 'image/png;BASE64')
|
|
69
|
+ let testImage = `firebase-test-${Platform.OS}-${new Date().toLocaleString()}.png`
|
|
70
|
+ RNTest.prop('firebase-image', testImage)
|
|
71
|
+ // start test after Blob created
|
|
72
|
+ blob.onCreated(() => {
|
|
73
|
+ let storage = firebase.storage().ref('rnfbtest')
|
|
74
|
+ let task = storage
|
|
75
|
+ .child(RNTest.prop('firebase-image'))
|
|
76
|
+ .put(blob, { contentType : 'image/png' })
|
|
77
|
+ .then((snapshot) => {
|
78
|
78
|
report(<Assert key="upload success"
|
79
|
79
|
expect={true}
|
80
|
80
|
actual={true}/>,
|
81
|
81
|
<Info key="uploaded file stat" >
|
82
|
|
- <Text>{task.snapshot.totalBytes}</Text>
|
83
|
|
- <Text>{JSON.stringify(task.snapshot.metadata)}</Text>
|
|
82
|
+ <Text>{snapshot.totalBytes}</Text>
|
|
83
|
+ <Text>{JSON.stringify(snapshot.metadata)}</Text>
|
84
|
84
|
</Info>)
|
85
|
85
|
done()
|
86
|
86
|
})
|
|
87
|
+ })
|
|
88
|
+})
|
87
|
89
|
|
88
|
|
- })
|
89
|
|
-
|
90
|
|
- } catch(ex) {
|
91
|
|
- console.log('firebase polyfill error', ex)
|
92
|
|
- }
|
93
|
|
-
|
|
90
|
+describe('download firebase storage item', (report, done) => {
|
|
91
|
+ let storage = firebase.storage().ref('rnfbtest/' + RNTest.prop('firebase-image'))
|
|
92
|
+ storage.getDownloadURL().then((url) => {
|
|
93
|
+ console.log(url)
|
|
94
|
+ report(<Info key="image viewer">
|
|
95
|
+ <Image style={styles.image} source={{uri : url}}/>
|
|
96
|
+ </Info>)
|
|
97
|
+ done()
|
|
98
|
+ })
|
94
|
99
|
})
|