@@ -10,35 +10,37 @@ import org.scalasteward.core.mock.{MockContext, MockEff, MockState}
10
10
import org .scalasteward .core .vcs .data .{Repo , RepoOut , UserOut }
11
11
12
12
class VCSRepoAlgTest extends FunSuite {
13
- val repo : Repo = Repo (" fthomas" , " datapackage" )
14
- val repoDir : String = (config.workspace / " fthomas/datapackage" ).toString
15
- val parentRepoOut : RepoOut = RepoOut (
13
+ private val repo = Repo (" fthomas" , " datapackage" )
14
+ private val repoDir = (config.workspace / " fthomas/datapackage" ).toString
15
+ private val parentRepoOut = RepoOut (
16
16
" datapackage" ,
17
17
UserOut (" fthomas" ),
18
18
None ,
19
19
uri " https://github.com/fthomas/datapackage " ,
20
20
Branch (" master" )
21
21
)
22
22
23
- val forkRepoOut : RepoOut = RepoOut (
23
+ private val forkRepoOut = RepoOut (
24
24
" datapackage" ,
25
- UserOut (" scalasteward " ),
25
+ UserOut (" scala-steward " ),
26
26
Some (parentRepoOut),
27
27
uri " https://github.com/scala-steward/datapackage " ,
28
28
Branch (" master" )
29
29
)
30
30
31
- test(" cloneAndSync" ) {
31
+ private val parentUrl = s " https:// ${config.vcsLogin}@github.com/fthomas/datapackage "
32
+ private val forkUrl = s " https:// ${config.vcsLogin}@github.com/scala-steward/datapackage "
33
+
34
+ test(" cloneAndSync: doNotFork = false" ) {
32
35
val state = vcsRepoAlg.cloneAndSync(repo, forkRepoOut).runS(MockState .empty).unsafeRunSync()
33
- val url0 = s " https:// ${config.vcsLogin}@github.com/fthomas/datapackage "
34
- val url1 = s " https:// ${config.vcsLogin}@github.com/scala-steward/datapackage "
35
36
val expected = MockState .empty.copy(
36
37
trace = Vector (
37
- Log (" Clone and synchronize fthomas /datapackage" ),
38
- Cmd (envVars, config.workspace.toString, " git" , " clone" , url1 , repoDir),
38
+ Log (" Clone scala-steward /datapackage" ),
39
+ Cmd (envVars, config.workspace.toString, " git" , " clone" , forkUrl , repoDir),
39
40
Cmd (envVars, repoDir,
" git" ,
" config" ,
" user.email" ,
" [email protected] " ),
40
41
Cmd (envVars, repoDir, " git" , " config" , " user.name" , " Bot Doe" ),
41
- Cmd (envVars, repoDir, " git" , " remote" , " add" , " upstream" , url0),
42
+ Log (" Synchronize with fthomas/datapackage" ),
43
+ Cmd (envVars, repoDir, " git" , " remote" , " add" , " upstream" , parentUrl),
42
44
Cmd (envVars, repoDir, " git" , " fetch" , " --force" , " --tags" , " upstream" , " master" ),
43
45
Cmd (envVars, repoDir, " git" , " checkout" , " -B" , " master" , " --track" , " upstream/master" ),
44
46
Cmd (envVars, repoDir, " git" , " merge" , " upstream/master" ),
@@ -49,21 +51,30 @@ class VCSRepoAlgTest extends FunSuite {
49
51
assertEquals(state, expected)
50
52
}
51
53
52
- test(" syncFork should throw an exception when doNotFork = false and there is no parent" ) {
53
- val result = vcsRepoAlg
54
- .syncFork(repo, parentRepoOut)
54
+ test(" cloneAndSync: doNotFork = true" ) {
55
+ val config = MockContext .config.copy(doNotFork = true )
56
+ val state = new VCSRepoAlg [MockEff ](config)
57
+ .cloneAndSync(repo, parentRepoOut)
55
58
.runS(MockState .empty)
56
- .attempt
57
59
.unsafeRunSync()
58
- assert(clue(result).isLeft)
60
+ val expected = MockState .empty.copy(
61
+ trace = Vector (
62
+ Log (" Clone fthomas/datapackage" ),
63
+ Cmd (envVars, config.workspace.toString, " git" , " clone" , parentUrl, repoDir),
64
+ Cmd (envVars, repoDir,
" git" ,
" config" ,
" user.email" ,
" [email protected] " ),
65
+ Cmd (envVars, repoDir, " git" , " config" , " user.name" , " Bot Doe" ),
66
+ Cmd (envVars, repoDir, " git" , " submodule" , " update" , " --init" , " --recursive" )
67
+ )
68
+ )
69
+ assertEquals(state, expected)
59
70
}
60
71
61
- test(" syncFork should do nothing when doNotFork = true" ) {
62
- val config = MockContext .config.copy(doNotFork = true )
63
- val state = new VCSRepoAlg [MockEff ](config)
64
- .syncFork(repo, parentRepoOut)
72
+ test(" cloneAndSync: doNotFork = false, no parent" ) {
73
+ val result = vcsRepoAlg
74
+ .cloneAndSync(repo, parentRepoOut)
65
75
.runS(MockState .empty)
76
+ .attempt
66
77
.unsafeRunSync()
67
- assertEquals(state, MockState .empty )
78
+ assert(clue(result).isLeft )
68
79
}
69
80
}
0 commit comments