1
+ import { Meteor } from 'meteor/meteor' ;
2
+ import { chai } from 'meteor/practicalmeteor:chai' ;
3
+ import logs from '../../../lib/collections/OrgLogs.js' ;
4
+ import { resetDatabase } from 'meteor/xolvio:cleaner' ;
5
+
6
+ const TEST_URL = 'http://example.com/api' ;
7
+
8
+ beforeEach ( function ( ) {
9
+ resetDatabase ( ) ;
10
+ } ) ;
11
+
12
+ describe ( 'OrgLogs' , function ( ) {
13
+ function skip_client ( name , callback ) {
14
+ if ( ! Meteor . isClient ) {
15
+ it ( name , callback ) ;
16
+ }
17
+ }
18
+
19
+ skip_client ( 'adding a new successful log' , function ( ) {
20
+ var newLog = logs . createNewSuccessLog ( TEST_URL , { payload : 'some string' } ) ;
21
+ logs . createOrUpdateLog ( newLog ) ;
22
+
23
+ var entry = logs . OrgLogs . findOne ( { url : TEST_URL } ) ;
24
+ chai . assert . equal ( entry . statusCode , 200 ) ;
25
+ chai . assert . instanceOf ( entry . lastSuccess , Date ) ;
26
+ } ) ;
27
+
28
+ skip_client ( 'adding a new log with error' , function ( ) {
29
+ var newLog = logs . createNewErrorLog ( TEST_URL , { response : { statusCode : 404 } } ) ;
30
+ logs . createOrUpdateLog ( newLog ) ;
31
+ var entry = logs . OrgLogs . findOne ( { url : TEST_URL } ) ;
32
+ chai . assert . equal ( entry . statusCode , 404 ) ;
33
+ chai . assert . equal ( entry . lastSuccess , null ) ;
34
+ } ) ;
35
+
36
+ skip_client ( 'error log followed by successful log' , function ( ) {
37
+ var errorLog = logs . createNewErrorLog ( TEST_URL , { response : { statusCode : 404 } } ) ;
38
+ var successLog = logs . createNewSuccessLog ( TEST_URL , { payload : 'some string' } ) ;
39
+
40
+ logs . createOrUpdateLog ( errorLog ) ;
41
+ logs . createOrUpdateLog ( successLog ) ;
42
+
43
+ var entry = logs . OrgLogs . findOne ( { url : TEST_URL } ) ;
44
+ chai . assert . equal ( entry . statusCode , 200 ) ;
45
+ chai . assert . instanceOf ( entry . lastSuccess , Date ) ;
46
+ chai . assert . equal ( entry . errorMessage , null ) ;
47
+ chai . assert . equal ( entry . data . payload , 'some string' ) ;
48
+ } ) ;
49
+
50
+ skip_client ( 'failure count updated' , function ( ) {
51
+ var errorLog = logs . createNewErrorLog ( TEST_URL , { response : { statusCode : 404 } } ) ;
52
+ logs . createOrUpdateLog ( errorLog ) ;
53
+ logs . createOrUpdateLog ( errorLog ) ;
54
+ logs . createOrUpdateLog ( errorLog ) ;
55
+ var entry = logs . OrgLogs . findOne ( { url : TEST_URL } ) ;
56
+ chai . assert . equal ( entry . failureCount , 3 ) ;
57
+ } ) ;
58
+
59
+ } ) ;
0 commit comments