From 8be5f93f5b2d4b6f438ca84094937a0f7101c59b Mon Sep 17 00:00:00 2001 From: T Date: Sat, 2 Aug 2025 17:25:59 -0600 Subject: Initial commit of punchcard. Contains working time tracking commands, and the stub of a command to generate reports. --- internal/commands/testdata/clockify_extra_columns.csv | 3 +++ internal/commands/testdata/clockify_full.csv | 4 ++++ internal/commands/testdata/clockify_invalid.csv | 2 ++ internal/commands/testdata/clockify_missing_data.csv | 4 ++++ internal/commands/testdata/clockify_no_billable.csv | 3 +++ internal/commands/testdata/clockify_reordered.csv | 3 +++ 6 files changed, 19 insertions(+) create mode 100644 internal/commands/testdata/clockify_extra_columns.csv create mode 100644 internal/commands/testdata/clockify_full.csv create mode 100644 internal/commands/testdata/clockify_invalid.csv create mode 100644 internal/commands/testdata/clockify_missing_data.csv create mode 100644 internal/commands/testdata/clockify_no_billable.csv create mode 100644 internal/commands/testdata/clockify_reordered.csv (limited to 'internal/commands/testdata') diff --git a/internal/commands/testdata/clockify_extra_columns.csv b/internal/commands/testdata/clockify_extra_columns.csv new file mode 100644 index 0000000..a563ddc --- /dev/null +++ b/internal/commands/testdata/clockify_extra_columns.csv @@ -0,0 +1,3 @@ +"Project","Client","Description","Start Date","Start Time","End Date","End Time","Billable","Tags","User","Email","Extra 1","Extra 2","Extra 3" +"Analytics Dashboard","DataCorp","Performance monitoring","01/25/2024","10:00:00 AM","01/25/2024","02:15:00 PM","Yes","analytics,monitoring","Eve Green","eve@datacorp.com","unused1","unused2","unused3" +"API Development","DataCorp","REST endpoint creation","01/26/2024","09:30:00 AM","01/26/2024","11:45:00 AM","Yes","backend,api","Frank Miller","frank@datacorp.com","more unused","data here","final column" \ No newline at end of file diff --git a/internal/commands/testdata/clockify_full.csv b/internal/commands/testdata/clockify_full.csv new file mode 100644 index 0000000..766f14d --- /dev/null +++ b/internal/commands/testdata/clockify_full.csv @@ -0,0 +1,4 @@ +"Project","Client","Description","Task","User","Group","Email","Tags","Billable","Start Date","Start Time","End Date","End Time","Duration (h)","Duration (decimal)","Billable Rate (USD)","Billable Amount (USD)" +"Project Alpha","Acme Corp","Initial development work","","John Doe","Dev Team","johndoe@example.com","frontend,react","Yes","01/15/2024","09:00:00 AM","01/15/2024","11:30:00 AM","02:30:00","2.50","75.00","187.50" +"Project Beta","Acme Corp","Code review","","John Doe","Dev Team","johndoe@example.com","backend,review","Yes","01/15/2024","02:00:00 PM","01/15/2024","03:15:00 PM","01:15:00","1.25","75.00","93.75" +"Website Redesign","Creative Co","UI mockups","","Jane Smith","Design Team","janesmith@example.com","design,ui","No","01/16/2024","10:00:00 AM","01/16/2024","12:00:00 PM","02:00:00","2.00","0.00","0.00" \ No newline at end of file diff --git a/internal/commands/testdata/clockify_invalid.csv b/internal/commands/testdata/clockify_invalid.csv new file mode 100644 index 0000000..1d5feb3 --- /dev/null +++ b/internal/commands/testdata/clockify_invalid.csv @@ -0,0 +1,2 @@ +"Project","Client","Description","Task","User" +"Incomplete Project","Test Client","Missing columns" \ No newline at end of file diff --git a/internal/commands/testdata/clockify_missing_data.csv b/internal/commands/testdata/clockify_missing_data.csv new file mode 100644 index 0000000..91be6cd --- /dev/null +++ b/internal/commands/testdata/clockify_missing_data.csv @@ -0,0 +1,4 @@ +"Project","Client","Description","Task","User","Group","Email","Tags","Billable","Start Date","Start Time","End Date","End Time","Duration (h)","Duration (decimal)" +"Valid Project","Valid Client","Valid work","","User","","user@example.com","","Yes","01/20/2024","09:00:00 AM","01/20/2024","10:00:00 AM","01:00:00","1.00" +"","Missing Client","Work without client","","User","","user@example.com","","Yes","01/20/2024","11:00:00 AM","01/20/2024","12:00:00 PM","01:00:00","1.00" +"Missing Project","","Work without project","","User","","user@example.com","","Yes","01/20/2024","01:00:00 PM","01/20/2024","02:00:00 PM","01:00:00","1.00" \ No newline at end of file diff --git a/internal/commands/testdata/clockify_no_billable.csv b/internal/commands/testdata/clockify_no_billable.csv new file mode 100644 index 0000000..9cb34cb --- /dev/null +++ b/internal/commands/testdata/clockify_no_billable.csv @@ -0,0 +1,3 @@ +"Project","Client","Description","Task","User","Group","Email","Tags","Billable","Start Date","Start Time","End Date","End Time","Duration (h)","Duration (decimal)" +"Project Gamma","TechStart Inc","Database optimization","","Bob Wilson","Backend Team","bobwilson@example.com","database,optimization","Yes","01/17/2024","08:30:00 AM","01/17/2024","10:45:00 AM","02:15:00","2.25" +"Mobile App","TechStart Inc","Feature implementation","","Alice Brown","Mobile Team","alicebrown@example.com","mobile,ios","Yes","01/17/2024","01:00:00 PM","01/17/2024","04:30:00 PM","03:30:00","3.50" \ No newline at end of file diff --git a/internal/commands/testdata/clockify_reordered.csv b/internal/commands/testdata/clockify_reordered.csv new file mode 100644 index 0000000..7d24075 --- /dev/null +++ b/internal/commands/testdata/clockify_reordered.csv @@ -0,0 +1,3 @@ +"Client","Start Date","End Date","Project","Description","Start Time","End Time","Extra Field 1","Task","User","Extra Field 2" +"MegaCorp Inc","01/20/2024","01/20/2024","Website Overhaul","Frontend redesign","09:15:00 AM","12:30:00 PM","some extra data","","Charlie Davis","more extra" +"StartupCo","01/21/2024","01/21/2024","Mobile Beta","Bug fixes","02:00:00 PM","05:45:00 PM","random value","","Diana Lee","another column" \ No newline at end of file -- cgit v1.2.3