@@ -1938,7 +1938,7 @@ public async Task GetLastCompletedPreTranslationBuildAsync_RetrievePreTranslatio
19381938 }
19391939
19401940 [ Test ]
1941- public async Task GetLastCompletedPreTranslationBuildAsync_NoRetrievePreTranslationStatusAsyncCall_Success ( )
1941+ public async Task GetLastCompletedPreTranslationBuildAsync_NoRetrievePreTranslationStatusAsyncCallWhenActiveBuild_Success ( )
19421942 {
19431943 // Set up test environment
19441944 var env = new TestEnvironment ( ) ;
@@ -1974,6 +1974,73 @@ public async Task GetLastCompletedPreTranslationBuildAsync_NoRetrievePreTranslat
19741974 } ,
19751975 ] ,
19761976 } ,
1977+ new TranslationBuild
1978+ {
1979+ Url = "https://example.com" ,
1980+ Id = Build02 ,
1981+ Engine = new ResourceLink { Id = "engineId" , Url = "https://example.com" } ,
1982+ State = JobState . Active ,
1983+ } ,
1984+ ]
1985+ )
1986+ ) ;
1987+
1988+ // SUT
1989+ ServalBuildDto ? actual = await env . Service . GetLastCompletedPreTranslationBuildAsync (
1990+ User01 ,
1991+ Project01 ,
1992+ false ,
1993+ CancellationToken . None
1994+ ) ;
1995+
1996+ // RetrievePreTranslationStatusAsync is run via a background job, so we verify that no new job was scheduled
1997+ env . BackgroundJobClient . DidNotReceive ( ) . Create ( Arg . Any < Job > ( ) , Arg . Any < IState > ( ) ) ;
1998+
1999+ TestEnvironment . AssertCoreBuildProperties ( CompletedTranslationBuild , actual ) ;
2000+ }
2001+
2002+ [ Test ]
2003+ public async Task GetLastCompletedPreTranslationBuildAsync_NoRetrievePreTranslationStatusAsyncCallWhenAlreadyRun_Success ( )
2004+ {
2005+ // Set up test environment
2006+ var env = new TestEnvironment ( ) ;
2007+ const string scriptureRange = "GEN" ;
2008+ await env . Projects . UpdateAsync (
2009+ Project01 ,
2010+ u => u . Set ( p => p . TranslateConfig . DraftConfig . CurrentScriptureRange , scriptureRange )
2011+ ) ;
2012+ const double percentCompleted = 0 ;
2013+ const int revision = 43 ;
2014+ const JobState state = JobState . Completed ;
2015+ env . TranslationEnginesClient . GetAllBuildsAsync ( TranslationEngine01 , CancellationToken . None )
2016+ . Returns (
2017+ Task . FromResult < IList < TranslationBuild > > (
2018+ [
2019+ new TranslationBuild
2020+ {
2021+ Url = "https://example.com" ,
2022+ Id = Build01 ,
2023+ Engine = new ResourceLink { Id = "engineId" , Url = "https://example.com" } ,
2024+ Message = MachineApiService . BuildStateCompleted ,
2025+ Progress = percentCompleted ,
2026+ Revision = revision ,
2027+ State = state ,
2028+ DateFinished = DateTimeOffset . UtcNow ,
2029+ Pretranslate =
2030+ [
2031+ new PretranslateCorpus
2032+ {
2033+ SourceFilters =
2034+ [
2035+ new ParallelCorpusFilter
2036+ {
2037+ Corpus = new ResourceLink { Id = "corpusId" , Url = "https://example.com" } ,
2038+ ScriptureRange = scriptureRange ,
2039+ } ,
2040+ ] ,
2041+ } ,
2042+ ] ,
2043+ } ,
19772044 ]
19782045 )
19792046 ) ;
@@ -1986,7 +2053,8 @@ public async Task GetLastCompletedPreTranslationBuildAsync_NoRetrievePreTranslat
19862053 CancellationToken . None
19872054 ) ;
19882055
1989- await env . Service . DidNotReceive ( ) . RetrievePreTranslationStatusAsync ( Project01 , CancellationToken . None ) ;
2056+ // RetrievePreTranslationStatusAsync is run via a background job, so we verify that no new job was scheduled
2057+ env . BackgroundJobClient . DidNotReceive ( ) . Create ( Arg . Any < Job > ( ) , Arg . Any < IState > ( ) ) ;
19902058
19912059 TestEnvironment . AssertCoreBuildProperties ( CompletedTranslationBuild , actual ) ;
19922060 }
@@ -2040,7 +2108,8 @@ public async Task GetLastCompletedPreTranslationBuildAsync_NullScriptureRange_Su
20402108 CancellationToken . None
20412109 ) ;
20422110
2043- await env . Service . DidNotReceive ( ) . RetrievePreTranslationStatusAsync ( Project01 , CancellationToken . None ) ;
2111+ // RetrievePreTranslationStatusAsync is run via a background job, so we verify that no new job was scheduled
2112+ env . BackgroundJobClient . DidNotReceive ( ) . Create ( Arg . Any < Job > ( ) , Arg . Any < IState > ( ) ) ;
20442113
20452114 TestEnvironment . AssertCoreBuildProperties ( CompletedTranslationBuild , actual ) ;
20462115 }
0 commit comments