Selaa lähdekoodia

:bug: test more closely resembling endpoint, still WIP

tags/0.0.1^2
juancarbajal98 3 vuotta sitten
vanhempi
commit
31f9c772da
1 muutettua tiedostoa jossa 42 lisäystä ja 6 poistoa
  1. 42
    6
      backend/tests/membership-join.spec.js

+ 42
- 6
backend/tests/membership-join.spec.js Näytä tiedosto

12
 const ProfileService = require('../lib/services/profile')
12
 const ProfileService = require('../lib/services/profile')
13
 
13
 
14
 const params = {
14
 const params = {
15
-    profile_id: 45
15
+    profile_id: 3
16
 }
16
 }
17
 const mockReturn = {
17
 const mockReturn = {
18
     memberships: [
18
     memberships: [
19
-        'string'
19
+        { membership_id: 1, grouping_id: 1, is_active: false, profile_id: 3},
20
+        { membership_id: 2, grouping_id: 2, is_active: false, profile_id: 1},
21
+        { membership_id: 4, grouping_id: 3, is_active: false, profile_id: 2},
20
     ],
22
     ],
21
     hasMatch: true,
23
     hasMatch: true,
22
     groupings: [
24
     groupings: [
23
-        'string'
25
+        { grouping_id: 1, profiles: [{ profile_id: 1 }, { profile_id: 3 }] },
26
+        { grouping_id: 2, profiles: [{ profile_id: 2 }, { profile_id: 1 }] },
24
     ]
27
     ]
25
 }
28
 }
26
 const pathToTest = {
29
 const pathToTest = {
27
     method: 'POST',
30
     method: 'POST',
28
     url: `/${params.profile_id}/join`,
31
     url: `/${params.profile_id}/join`,
32
+    payload: {
33
+        grouping_id: 3,
34
+        grouping_name: 'test_match',
35
+        grouping_type: 'test_group',
36
+        target_id: 1,
37
+        role: 'participant'
38
+    },
29
 }
39
 }
30
 
40
 
31
 test(`path ${pathToTest.url} should return ok on POST`, async t => {
41
 test(`path ${pathToTest.url} should return ok on POST`, async t => {
42
+    console.log('-------------------------------\n')
32
     const server = Hapi.server()
43
     const server = Hapi.server()
33
     server.registerModel = () => {}
44
     server.registerModel = () => {}
34
     server.models = () => ({
45
     server.models = () => ({
40
     /**
51
     /**
41
      * TODO: adjust stubs to mock joinGrouping more closely
52
      * TODO: adjust stubs to mock joinGrouping more closely
42
      */
53
      */
43
-    stub(server.models()['Grouping'], 'query').returns(mockReturn.groupings)
44
-    stub(server.models()['Membership'], 'query').returns(mockReturn.memberships)
54
+    stub(server.models()['Grouping'], 'query').returns({
55
+        whereIn: () => {
56
+            return mockReturn.groupings
57
+        },
58
+    })
59
+    stub(server.models()['Membership'], 'query').returns({
60
+        where: (pid) => {
61
+            console.log('pid', pid)
62
+            if(pid == 'membership_id') {
63
+                return {
64
+                    where: () => ({
65
+                        patch: () => {} 
66
+                    })
67
+                }
68
+            }
69
+            return mockReturn.memberships.filter(membership => {
70
+                return membership.profile_id == pid.profile_id
71
+            })
72
+        },
73
+        insert: () => {
74
+            mockReturn.memberships.push({ membership_id: 3, grouping_id: 3, is_active: true })
75
+        },
76
+        whereIn: () => {
77
+            return mockReturn.memberships
78
+        },
79
+    })
45
 
80
 
46
     /**
81
     /**
47
      * Test the server with registered models and services
82
      * Test the server with registered models and services
48
      */
83
      */
49
     const { payload } = await server.inject(pathToTest)
84
     const { payload } = await server.inject(pathToTest)
85
+    console.log('payload', payload)
50
     const res = JSON.parse(payload)
86
     const res = JSON.parse(payload)
51
     t.deepEqual(res.ok, true)
87
     t.deepEqual(res.ok, true)
52
-    t.deepEqual(res.data, mockReturn.responses)
88
+    t.deepEqual(res.data, mockReturn)
53
     server.stop()
89
     server.stop()
54
 })
90
 })

Loading…
Peruuta
Tallenna