timetracker/internal/excel/excel_test.go

48 lines
902 B
Go
Raw Normal View History

2025-03-19 20:51:09 +01:00
package excel
import (
"log"
"os"
"ronnyfriedland/timetracker/v2/internal/logic"
"testing"
"time"
"github.com/xuri/excelize/v2"
)
func TestExport(t *testing.T) {
testData := logic.Duration{
Date: time.Now(),
StartTime: time.Now(),
EndTime: time.Now(),
Duration: time.Duration(1000),
}
excelDirectory := os.TempDir()
excelFile := Export(&excelDirectory, testData)
file, err := excelize.OpenFile(excelFile)
if err != nil {
log.Fatalf("Expected excel file")
}
rows, err := file.GetRows(SheetName)
if err != nil {
log.Fatalf("Expected no error getting rows")
}
if len(rows) != 2 {
log.Fatalf("Unexpected line count - expected 2, got %d", len(rows))
}
headers := rows[0]
for i := 0; i < len(headers); i++ {
if headers[i] != Headers[i] {
log.Fatalf("Unexpected header value - expected %s, got %s", Headers[i], headers[i])
}
}
defer os.Remove(excelFile)
}