This repository was archived by the owner on Dec 15, 2022. It is now read-only.
File tree Expand file tree Collapse file tree 4 files changed +37
-1
lines changed
Expand file tree Collapse file tree 4 files changed +37
-1
lines changed Original file line number Diff line number Diff line change @@ -34,10 +34,19 @@ describe("API Tasks Functions", () => {
3434 generalExpectedTaskID = apiTask . id ;
3535 } ) ;
3636
37+ test ( "Update A Task" , async ( ) => {
38+ let response = await myClient . task . update ( generalExpectedTaskID , {
39+ content : "Updated Task" ,
40+ priority : 2 ,
41+ } ) ;
42+
43+ expect ( response . status ) . toBe ( 204 ) ;
44+ } ) ;
45+
3746 test ( "Get A Task" , async ( ) => {
3847 let apiTask = await myClient . task . get ( generalExpectedTaskID ) ;
3948
40- expect ( apiTask . content ) . toBe ( generalExpectedTask . content ) ;
49+ expect ( apiTask . content ) . toBe ( "Updated Task" ) ;
4150 } ) ;
4251
4352 test ( "Close A Task" , async ( ) => {
Original file line number Diff line number Diff line change @@ -20,4 +20,8 @@ declare interface TaskModule {
2020 getAll : ( ) => Promise < string [ ] > ;
2121 getAllJSON : ( ) => Promise < APITaskObject [ ] > ;
2222 get : ( id : string | number ) => Promise < APITaskObject > ;
23+ update : (
24+ id : number | string ,
25+ task : TaskUpdatableParameters
26+ ) => Promise < AxiosResponse > ;
2327}
Original file line number Diff line number Diff line change @@ -17,3 +17,16 @@ declare interface UserCreatedTask {
1717declare interface ClientCreatedTask extends UserCreatedTask {
1818 content : string ;
1919}
20+
21+ // See https://developer.todoist.com/rest/v1/#update-a-task
22+ declare interface TaskUpdatableParameters {
23+ content ?: string ;
24+ description ?: string ;
25+ label_ids ?: number [ ] ;
26+ priority ?: number ;
27+ due_string ?: string ;
28+ due_date ?: string ;
29+ due_datetime ?: string ;
30+ due_lang ?: string ;
31+ assignee ?: number ;
32+ }
Original file line number Diff line number Diff line change @@ -27,6 +27,16 @@ const taskClientModule = (headers: AuthHeader): TaskModule => {
2727 . then ( ( res ) => res . data as APITaskObject ) ;
2828 } ,
2929
30+ update : async ( id , task ) => {
31+ return await axios . post (
32+ `https://api.todoist.com/rest/v1/tasks/${ id } ` ,
33+ task ,
34+ {
35+ headers,
36+ }
37+ ) ;
38+ } ,
39+
3040 getAll : async ( ) => {
3141 let json = await getAllJSON ( headers ) ;
3242 let arrayTasks : string [ ] = [ ] ;
You can’t perform that action at this time.
0 commit comments