Ver código fonte

:bug: test more closely resembling endpoint, still WIP

tags/0.0.1^2
juancarbajal98 3 anos atrás
pai
commit
31f9c772da
1 arquivos alterados com 42 adições e 6 exclusões
  1. 42
    6
      backend/tests/membership-join.spec.js

+ 42
- 6
backend/tests/membership-join.spec.js Ver arquivo

@@ -12,23 +12,34 @@ const Membership = require('../lib/models/membership')
12 12
 const ProfileService = require('../lib/services/profile')
13 13
 
14 14
 const params = {
15
-    profile_id: 45
15
+    profile_id: 3
16 16
 }
17 17
 const mockReturn = {
18 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 23
     hasMatch: true,
22 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 29
 const pathToTest = {
27 30
     method: 'POST',
28 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 41
 test(`path ${pathToTest.url} should return ok on POST`, async t => {
42
+    console.log('-------------------------------\n')
32 43
     const server = Hapi.server()
33 44
     server.registerModel = () => {}
34 45
     server.models = () => ({
@@ -40,15 +51,40 @@ test(`path ${pathToTest.url} should return ok on POST`, async t => {
40 51
     /**
41 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 82
      * Test the server with registered models and services
48 83
      */
49 84
     const { payload } = await server.inject(pathToTest)
85
+    console.log('payload', payload)
50 86
     const res = JSON.parse(payload)
51 87
     t.deepEqual(res.ok, true)
52
-    t.deepEqual(res.data, mockReturn.responses)
88
+    t.deepEqual(res.data, mockReturn)
53 89
     server.stop()
54 90
 })

Carregando…
Cancelar
Salvar