@@ -48,3 +48,45 @@ func TestProjectService_Clone_v4_10(t *testing.T) {
4848 require .NoError (t , err )
4949 require .Empty (t , token )
5050}
51+ func TestProjectService_Latest (t * testing.T ) {
52+ client := setUpContainer (t , testContainerOptions {
53+ Version : "4.12.7" ,
54+ APIPermissions : []string {
55+ PermissionPortfolioManagement ,
56+ PermissionViewPortfolio ,
57+ },
58+ })
59+ var name = "acme-app"
60+ project , err := client .Project .Create (context .Background (), Project {
61+ Name : name ,
62+ Version : "1.0.0" ,
63+ IsLatest : OptionalBoolOf (true ),
64+ })
65+ require .NoError (t , err )
66+ latest , err := client .Project .Latest (context .Background (), name )
67+
68+ require .NoError (t , err )
69+ require .Equal (t , project .Version , latest .Version )
70+
71+ token , err := client .Project .Clone (context .Background (), ProjectCloneRequest {
72+ ProjectUUID : project .UUID ,
73+ Version : "2.0.0" ,
74+ MakeCloneLatest : OptionalBoolOf (true ),
75+ })
76+ require .NoError (t , err )
77+ require .NotEmpty (t , token )
78+
79+ for {
80+ processing , err := client .Event .IsBeingProcessed (context .Background (), token )
81+ require .NoError (t , err )
82+ if ! processing {
83+ break
84+ }
85+ }
86+
87+ latest , err = client .Project .Latest (context .Background (), name )
88+
89+ require .NoError (t , err )
90+ require .Equal (t , "2.0.0" , latest .Version )
91+
92+ }
0 commit comments