Skip to content

Commit

Permalink
(wip)
Browse files Browse the repository at this point in the history
  • Loading branch information
lucassabreu committed Jul 23, 2024
1 parent 6fffeef commit 6cdaa86
Showing 1 changed file with 31 additions and 5 deletions.
36 changes: 31 additions & 5 deletions pkg/cmd/time-entry/in/in_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -347,8 +347,8 @@ func TestNewCmdIn_ShouldLookupProject_WithAndWithoutClient(t *testing.T) {
}

func TestNewCmdIn_ShouldUseDefaults(t *testing.T) {
ft := func(name string, d defaults.DefaultTimeEntry,
args []string, exp api.CreateTimeEntryParam) {
ft := func(name string, d *defaults.DefaultTimeEntry,
args []string, p *dto.Project, exp api.CreateTimeEntryParam) {
t.Run(name, func(t *testing.T) {
f := mocks.NewMockFactory(t)

Expand All @@ -360,6 +360,13 @@ func TestNewCmdIn_ShouldUseDefaults(t *testing.T) {
c := mocks.NewMockClient(t)
f.EXPECT().Client().Return(c, nil)

if p != nil {
c.EXPECT().GetProject(api.GetProjectParam{
Workspace: w.ID,
ProjectID: p.ID,
}).Return(p, nil)
}

c.EXPECT().GetTimeEntryInProgress(api.GetTimeEntryInProgressParam{
Workspace: w.ID,
UserID: "u",
Expand All @@ -378,7 +385,14 @@ func TestNewCmdIn_ShouldUseDefaults(t *testing.T) {

ted := mocks.NewMockTimeEntryDefaults(t)
f.EXPECT().TimeEntryDefaults().Return(ted)
ted.EXPECT().Read().Return(d, nil)
if d == nil {
ted.EXPECT().Read().Return(
defaults.DefaultTimeEntry{},
defaults.DefaultsFileNotFoundErr,
)
} else {
ted.EXPECT().Read().Return(*d, nil)
}

called := false
cmd := in.NewCmdIn(f, func(
Expand Down Expand Up @@ -406,14 +420,15 @@ func TestNewCmdIn_ShouldUseDefaults(t *testing.T) {
}

ft("only defaults",
defaults.DefaultTimeEntry{
&defaults.DefaultTimeEntry{
Workspace: w.ID,
ProjectID: "p1",
TaskID: "t",
Billable: &bTrue,
TagIDs: []string{"t1", "t2"},
},
[]string{},
&dto.Project{ID: "p1"},
api.CreateTimeEntryParam{
Workspace: w.ID,
Start: timehlp.Now(),
Expand All @@ -425,18 +440,29 @@ func TestNewCmdIn_ShouldUseDefaults(t *testing.T) {
)

ft("flags over defaults",
defaults.DefaultTimeEntry{
&defaults.DefaultTimeEntry{
Workspace: w.ID,
ProjectID: "p1",
TaskID: "t",
TagIDs: []string{"t1", "t2"},
},
[]string{"-T", "tag", "-p", "p2"},
&dto.Project{ID: "p2"},
api.CreateTimeEntryParam{
Workspace: w.ID,
Start: timehlp.Now(),
ProjectID: "p2",
TagIDs: []string{"tag"},
},
)

ft("no defaults",
&defaults.DefaultTimeEntry{},
[]string{},
nil,
api.CreateTimeEntryParam{
Workspace: w.ID,
Start: timehlp.Now(),
},
)
}

0 comments on commit 6cdaa86

Please sign in to comment.