MCPcopy Create free account
hub / github.com/conforma/cli / TestSetExpiration

Function TestSetExpiration

internal/tracker/tracker_test.go:751–844  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

749}
750
751func TestSetExpiration(t *testing.T) {
752 tests := []struct {
753 name string
754 inEffectDays int
755 inputRecords []taskRecord
756 expectedOutput []taskRecord
757 }{
758 {
759 name: "most recent record gets no expiry, nil records get expiry",
760 inEffectDays: 7,
761 inputRecords: []taskRecord{
762 {Ref: "newest", ExpiresOn: nil},
763 {Ref: "older", ExpiresOn: nil},
764 },
765 expectedOutput: []taskRecord{
766 {Ref: "newest", ExpiresOn: nil}, // Most recent - no expiry
767 {Ref: "older", ExpiresOn: &[]time.Time{time.Now().UTC().Round(oneDay).Add(7 * oneDay)}[0]}, // Gets expiry
768 },
769 },
770 {
771 name: "preserve existing expiry dates",
772 inEffectDays: 7,
773 inputRecords: []taskRecord{
774 {Ref: "newest", ExpiresOn: nil},
775 {Ref: "older", ExpiresOn: &[]time.Time{time.Now().UTC().Add(10 * oneDay)}[0]}, // Existing expiry
776 },
777 expectedOutput: []taskRecord{
778 {Ref: "newest", ExpiresOn: nil}, // Most recent - no expiry
779 {Ref: "older", ExpiresOn: &[]time.Time{time.Now().UTC().Add(10 * oneDay)}[0]}, // Keeps existing expiry
780 },
781 },
782 {
783 name: "mixed nil and existing expiry records",
784 inEffectDays: 5,
785 inputRecords: []taskRecord{
786 {Ref: "newest", ExpiresOn: nil},
787 {Ref: "nilRecord", ExpiresOn: nil},
788 {Ref: "existingRecord", ExpiresOn: &[]time.Time{time.Now().UTC().Add(15 * oneDay)}[0]},
789 {Ref: "anotherNil", ExpiresOn: nil},
790 },
791 expectedOutput: []taskRecord{
792 {Ref: "newest", ExpiresOn: nil}, // Most recent - no expiry
793 {Ref: "nilRecord", ExpiresOn: &[]time.Time{time.Now().UTC().Round(oneDay).Add(5 * oneDay)}[0]}, // Gets new expiry
794 {Ref: "existingRecord", ExpiresOn: &[]time.Time{time.Now().UTC().Add(15 * oneDay)}[0]}, // Keeps existing
795 {Ref: "anotherNil", ExpiresOn: &[]time.Time{time.Now().UTC().Round(oneDay).Add(5 * oneDay)}[0]}, // Gets new expiry
796 },
797 },
798 {
799 name: "all records already have expiry",
800 inEffectDays: 3,
801 inputRecords: []taskRecord{
802 {Ref: "newest", ExpiresOn: nil},
803 {Ref: "existing1", ExpiresOn: &[]time.Time{time.Now().UTC().Add(8 * oneDay)}[0]},
804 {Ref: "existing2", ExpiresOn: &[]time.Time{time.Now().UTC().Add(12 * oneDay)}[0]},
805 },
806 expectedOutput: []taskRecord{
807 {Ref: "newest", ExpiresOn: nil}, // Most recent - no expiry
808 {Ref: "existing1", ExpiresOn: &[]time.Time{time.Now().UTC().Add(8 * oneDay)}[0]}, // Keeps existing

Callers

nothing calls this directly

Calls 2

setExpirationMethod · 0.95
RunMethod · 0.65

Tested by

no test coverage detected