@@ -7,20 +7,26 @@ import (
77
88 "github.com/Tomas-vilte/MateCommit/internal/config"
99 "github.com/Tomas-vilte/MateCommit/internal/domain/models"
10+ "github.com/Tomas-vilte/MateCommit/internal/domain/ports"
1011 "github.com/Tomas-vilte/MateCommit/internal/i18n"
1112 "github.com/stretchr/testify/assert"
1213 "github.com/stretchr/testify/mock"
1314 "github.com/stretchr/testify/require"
1415 "github.com/urfave/cli/v3"
1516)
1617
17- func setupIssuesTest (t * testing.T ) (* MockIssueGeneratorService , * MockIssueTemplateService , * i18n.Translations , * config.Config ) {
18+ func setupIssuesTest (t * testing.T ) (* MockIssueGeneratorService , * MockIssueTemplateService , IssueServiceProvider , * i18n.Translations , * config.Config ) {
1819 mockGen := & MockIssueGeneratorService {}
1920 mockTemp := & MockIssueTemplateService {}
21+
22+ provider := func (ctx context.Context ) (ports.IssueGeneratorService , error ) {
23+ return mockGen , nil
24+ }
25+
2026 trans , err := i18n .NewTranslations ("en" , "../../../../internal/i18n/locales" )
2127 require .NoError (t , err )
2228 cfg := & config.Config {Language : "en" }
23- return mockGen , mockTemp , trans , cfg
29+ return mockGen , mockTemp , provider , trans , cfg
2430}
2531
2632func withStdin (input string , f func ()) {
@@ -41,8 +47,8 @@ func withStdin(input string, f func()) {
4147
4248func TestIssueGenerateAction (t * testing.T ) {
4349 t .Run ("should fail if no input provided" , func (t * testing.T ) {
44- mockGen , mockTemp , trans , cfg := setupIssuesTest (t )
45- factory := NewIssuesCommandFactory (mockGen , mockTemp )
50+ _ , mockTemp , provider , trans , cfg := setupIssuesTest (t )
51+ factory := NewIssuesCommandFactory (provider , mockTemp )
4652 cmd := factory .CreateCommand (trans , cfg )
4753
4854 app := & cli.Command {Name : "test" , Commands : []* cli.Command {cmd }}
@@ -53,8 +59,8 @@ func TestIssueGenerateAction(t *testing.T) {
5359 })
5460
5561 t .Run ("should fail if multiple sources provided" , func (t * testing.T ) {
56- mockGen , mockTemp , trans , cfg := setupIssuesTest (t )
57- factory := NewIssuesCommandFactory (mockGen , mockTemp )
62+ _ , mockTemp , provider , trans , cfg := setupIssuesTest (t )
63+ factory := NewIssuesCommandFactory (provider , mockTemp )
5864 cmd := factory .CreateCommand (trans , cfg )
5965
6066 app := & cli.Command {Name : "test" , Commands : []* cli.Command {cmd }}
@@ -65,8 +71,8 @@ func TestIssueGenerateAction(t *testing.T) {
6571 })
6672
6773 t .Run ("should generate from diff successfully" , func (t * testing.T ) {
68- mockGen , mockTemp , trans , cfg := setupIssuesTest (t )
69- factory := NewIssuesCommandFactory (mockGen , mockTemp )
74+ mockGen , mockTemp , provider , trans , cfg := setupIssuesTest (t )
75+ factory := NewIssuesCommandFactory (provider , mockTemp )
7076 cmd := factory .CreateCommand (trans , cfg )
7177
7278 expectedResult := & models.IssueGenerationResult {
@@ -88,8 +94,8 @@ func TestIssueGenerateAction(t *testing.T) {
8894 })
8995
9096 t .Run ("should handle dry-run correctly" , func (t * testing.T ) {
91- mockGen , mockTemp , trans , cfg := setupIssuesTest (t )
92- factory := NewIssuesCommandFactory (mockGen , mockTemp )
97+ mockGen , mockTemp , provider , trans , cfg := setupIssuesTest (t )
98+ factory := NewIssuesCommandFactory (provider , mockTemp )
9399 cmd := factory .CreateCommand (trans , cfg )
94100
95101 expectedResult := & models.IssueGenerationResult {
@@ -108,8 +114,8 @@ func TestIssueGenerateAction(t *testing.T) {
108114 })
109115
110116 t .Run ("should handle assign-me flag" , func (t * testing.T ) {
111- mockGen , mockTemp , trans , cfg := setupIssuesTest (t )
112- factory := NewIssuesCommandFactory (mockGen , mockTemp )
117+ mockGen , mockTemp , provider , trans , cfg := setupIssuesTest (t )
118+ factory := NewIssuesCommandFactory (provider , mockTemp )
113119 cmd := factory .CreateCommand (trans , cfg )
114120
115121 expectedResult := & models.IssueGenerationResult {
@@ -130,8 +136,8 @@ func TestIssueGenerateAction(t *testing.T) {
130136 })
131137
132138 t .Run ("should cancel if user chooses no" , func (t * testing.T ) {
133- mockGen , mockTemp , trans , cfg := setupIssuesTest (t )
134- factory := NewIssuesCommandFactory (mockGen , mockTemp )
139+ mockGen , mockTemp , provider , trans , cfg := setupIssuesTest (t )
140+ factory := NewIssuesCommandFactory (provider , mockTemp )
135141 cmd := factory .CreateCommand (trans , cfg )
136142
137143 mockGen .On ("GenerateFromDiff" , mock .Anything , "" , false ).Return (& models.IssueGenerationResult {Title : "T" }, nil )
@@ -146,8 +152,8 @@ func TestIssueGenerateAction(t *testing.T) {
146152 })
147153
148154 t .Run ("should use template if specified" , func (t * testing.T ) {
149- mockGen , mockTemp , trans , cfg := setupIssuesTest (t )
150- factory := NewIssuesCommandFactory (mockGen , mockTemp )
155+ mockGen , mockTemp , provider , trans , cfg := setupIssuesTest (t )
156+ factory := NewIssuesCommandFactory (provider , mockTemp )
151157 cmd := factory .CreateCommand (trans , cfg )
152158
153159 expectedResult := & models.IssueGenerationResult {Title : "Template Issue" }
0 commit comments