File tree Expand file tree Collapse file tree
Test/public/projectDatabase Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -27,25 +27,29 @@ function Test_SaveProjectDatabase_SafeId_Flag_PrivateCall{
2727function Test_SaveProjectDatabase_Safe_PrivateCall {
2828
2929 $p = Get-Mock_Project_700 ; $owner = $p.owner ; $projectNumber = $p.number
30- MockCall_GetProject_700
30+ MockCall_GetProject_700 - Cache
3131
3232 Invoke-PrivateContext {
3333
3434 $Owner = " octodemo" ; $ProjectNumber = 700
3535 # Cache the project
36- $prj1 = Get-Project - Owner $Owner - ProjectNumber $ProjectNumber
36+ # $prj1 = Get-Project -Owner $Owner -ProjectNumber $ProjectNumber
3737
3838 # modify the project
39- $db = Get-Project - Owner $Owner - ProjectNumber $ProjectNumber ; Save-ProjectDatabaseSafe - Database $db
40-
39+ # $db = Get-Project -Owner $Owner -ProjectNumber $ProjectNumber
40+ $db1 = Get-ProjectFromDatabase - Owner $Owner - ProjectNumber $ProjectNumber
41+ $dbClone = $db1 | ConvertTo-Json | ConvertFrom-Json
42+ Save-ProjectDatabaseSafe - Database $db1
43+
4144 # Check that safeId has changed
42- $prj2 = Get-Project - Owner $Owner - ProjectNumber $ProjectNumber
43- Assert-AreNotEqual - Presented $prj2.safeId - Expected $prj1.safeId
45+ $db2 = Get-ProjectFromDatabase - Owner $Owner - ProjectNumber $ProjectNumber
46+ # $prj2 = Get-Project -Owner $Owner -ProjectNumber $ProjectNumber
47+ Assert-AreNotEqual - Presented $dbClone.safeId - Expected $db2.safeId
4448
4549 # # When saving again as prj1 that has been saved before it will throw
4650 $hasThrow = $false
4751 try {
48- Save-ProjectDatabaseSafe - Database $prj1
52+ Save-ProjectDatabaseSafe - Database $dbClone
4953 } catch {
5054 $hasThrow = $true
5155 }
Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ function Get-Project {
2121
2222 if ( ! $result ) {
2323 " Failed to update project for $Owner /$ProjectNumber . Project may not exist or there was an error during update." | Write-MyError
24+ resetProjectCache - Owner $Owner - ProjectNumber $ProjectNumber
2425 return
2526 }
2627 } else {
@@ -179,3 +180,15 @@ function setProjectCache{
179180 SafeId = $safeId
180181 }
181182}
183+
184+ function resetProjectCache {
185+ param (
186+ [Parameter (Mandatory , Position = 0 )][string ]$Owner ,
187+ [Parameter (Mandatory , Position = 1 )][string ]$ProjectNumber
188+ )
189+
190+ " Resetting project cache for $Owner /$ProjectNumber " | Write-MyDebug - Section " Get-Project"
191+
192+ $key = " $Owner -$ProjectNumber "
193+ $script :ProjectsCache.Remove ($key )
194+ }
You can’t perform that action at this time.
0 commit comments