1
1
import { dbConnect , dbDisconnect } from "../dbHandler" ;
2
2
import { ActivitiesType } from "../../models/activities.model" ;
3
3
import { activityDummyData1 } from "./dummyData" ;
4
- import { createActivity , getAllActivities } from "../../controllers/activities.controller" ;
4
+ import {
5
+ createActivity ,
6
+ getAllActivities ,
7
+ getActivityById ,
8
+ updateActivity ,
9
+ deleteActivity ,
10
+ } from "../../controllers/activities.controller" ;
5
11
import { describe , test , expect , beforeEach , afterEach } from "vitest" ;
6
12
7
13
describe ( "Activities controller tests" , ( ) => {
8
- beforeEach ( async ( ) => dbConnect ( ) ) ;
9
- afterEach ( async ( ) => dbDisconnect ( ) ) ;
14
+ beforeEach ( async ( ) => dbConnect ( ) ) ;
15
+ afterEach ( async ( ) => dbDisconnect ( ) ) ;
10
16
11
- test ( "Adds and retrieves an activity" , async ( ) => {
12
- await createActivity ( activityDummyData1 as ActivitiesType ) ;
13
- const returnedActivities = await getAllActivities ( activityDummyData1 . user ) ;
17
+ test ( "Adds and retrieves an activity" , async ( ) => {
18
+ await createActivity ( activityDummyData1 as ActivitiesType ) ;
19
+ const returnedActivities = await getAllActivities ( activityDummyData1 . user ) ;
14
20
15
- //get back the 1 activity that was added
16
- expect ( returnedActivities . length ) . to . equal ( 1 ) ;
17
- expect ( returnedActivities [ 0 ] ) . toMatchObject ( activityDummyData1 ) ;
21
+ //get back the 1 activity that was added
22
+ expect ( returnedActivities . length ) . to . equal ( 1 ) ;
23
+ expect ( returnedActivities [ 0 ] ) . toMatchObject ( activityDummyData1 ) ;
18
24
19
- //Can't add duplicate name
20
- await expect ( createActivity ( activityDummyData1 as ActivitiesType ) ) . rejects . toThrowError ( ) ;
25
+ //Can't add duplicate name
26
+ await expect (
27
+ createActivity ( activityDummyData1 as ActivitiesType ) ,
28
+ ) . rejects . toThrowError ( ) ;
21
29
22
- const returnedActivities2 = await getAllActivities ( activityDummyData1 . user ) ;
30
+ const returnedActivities2 = await getAllActivities ( activityDummyData1 . user ) ;
23
31
24
- //if duplicate, shouldn't add to db
25
- expect ( returnedActivities2 . length ) . to . equal ( 1 ) ;
32
+ //if duplicate, shouldn't add to db
33
+ expect ( returnedActivities2 . length ) . to . equal ( 1 ) ;
26
34
27
- const returnedActivities3 = await getAllActivities ( "fakeuserid" ) ;
35
+ const returnedActivities3 = await getAllActivities ( "fakeuserid" ) ;
28
36
29
- //don't get records for a different user id
37
+ //don't get records for a different user id
38
+ expect ( returnedActivities3 . length ) . to . equal ( 0 ) ;
39
+ } ) ;
40
+
41
+ test ( "Finds, updates, and deletes an activity" , async ( ) => {
42
+ await createActivity ( activityDummyData1 as ActivitiesType ) ;
43
+ const returnedActivities = await getAllActivities ( activityDummyData1 . user ) ;
44
+
45
+ const returnedActivity = await getActivityById (
46
+ activityDummyData1 . user ,
47
+ returnedActivities [ 0 ] . _id ,
48
+ ) ;
49
+
50
+ expect ( returnedActivity ) . toMatchObject ( activityDummyData1 ) ;
51
+
52
+ await updateActivity ( activityDummyData1 . user , {
53
+ ...activityDummyData1 ,
54
+ _id : returnedActivities [ 0 ] . _id ,
55
+ itemName : "activitiesItem2" ,
56
+ } as ActivitiesType ) ;
57
+ const returnedActivity2 = await getActivityById (
58
+ activityDummyData1 . user ,
59
+ returnedActivities [ 0 ] . _id ,
60
+ ) ;
61
+ expect ( returnedActivity2 ?. itemName ) . to . equal ( "activitiesItem2" ) ;
62
+
63
+ await deleteActivity ( activityDummyData1 . user , returnedActivities [ 0 ] . _id ) ;
64
+ const returnedActivities3 = await getAllActivities ( activityDummyData1 . user ) ;
30
65
expect ( returnedActivities3 . length ) . to . equal ( 0 ) ;
31
- } )
32
- } )
66
+
67
+ await expect ( updateActivity ( activityDummyData1 . user , { } as ActivitiesType ) ) . rejects . toThrowError ( "Missing" ) ;
68
+ } ) ;
69
+ } ) ;
0 commit comments