@@ -28,6 +28,11 @@ func basicPostgres() *client.PostgresDetail {
2828 }
2929}
3030
31+ func postgresUpdateDiff (before , after * client.PostgresDetail ) postgres.PostgresUpdateDiff {
32+ out := postgres .NewPostgresUpdateOut (before , & postgres.ResolvedPostgres {Postgres : after })
33+ return out .Diff
34+ }
35+
3136func TestPostgresDetail_BasicFields (t * testing.T ) {
3237 out := text .PostgresAPIDetail (basicPostgres ())
3338
@@ -137,15 +142,15 @@ func TestPostgresTable(t *testing.T) {
137142func TestPostgresUpdateDiff (t * testing.T ) {
138143 t .Run ("returns empty string when nothing changed" , func (t * testing.T ) {
139144 pg := basicPostgres ()
140- assert .Empty (t , text .PostgresUpdateDiff (pg , pg ))
145+ assert .Empty (t , text .PostgresUpdateDiff (postgresUpdateDiff ( pg , pg ) ))
141146 })
142147
143148 t .Run ("single changed field: name" , func (t * testing.T ) {
144149 before := basicPostgres ()
145150 after := basicPostgres ()
146151 after .Name = "new-name"
147152
148- out := text .PostgresUpdateDiff (before , after )
153+ out := text .PostgresUpdateDiff (postgresUpdateDiff ( before , after ) )
149154 testassert .ContainsInOrder (t , out , "Name:" , "my-pg → new-name" )
150155 })
151156
@@ -154,7 +159,7 @@ func TestPostgresUpdateDiff(t *testing.T) {
154159 after := basicPostgres ()
155160 after .Plan = pgclient .Basic256mb
156161
157- out := text .PostgresUpdateDiff (before , after )
162+ out := text .PostgresUpdateDiff (postgresUpdateDiff ( before , after ) )
158163 testassert .ContainsInOrder (t , out , "Plan:" , "free → basic_256mb" )
159164 })
160165
@@ -163,7 +168,7 @@ func TestPostgresUpdateDiff(t *testing.T) {
163168 after := basicPostgres ()
164169 after .DiskSizeGB = pointers .From (100 )
165170
166- out := text .PostgresUpdateDiff (before , after )
171+ out := text .PostgresUpdateDiff (postgresUpdateDiff ( before , after ) )
167172 testassert .ContainsInOrder (t , out , "Disk size:" , "(unset) → 100 GB" )
168173 })
169174
@@ -174,7 +179,7 @@ func TestPostgresUpdateDiff(t *testing.T) {
174179 after .DiskAutoscalingEnabled = true
175180 after .HighAvailabilityEnabled = false
176181
177- out := text .PostgresUpdateDiff (before , after )
182+ out := text .PostgresUpdateDiff (postgresUpdateDiff ( before , after ) )
178183 // Disk autoscaling renders before high availability, so assert the full
179184 // layout in order: a field that turned on, then one that turned off.
180185 testassert .ContainsInOrder (t , out ,
@@ -189,7 +194,7 @@ func TestPostgresUpdateDiff(t *testing.T) {
189194 {CidrBlock : "10.0.0.0/8" , Description : "internal" },
190195 }
191196
192- out := text .PostgresUpdateDiff (before , after )
197+ out := text .PostgresUpdateDiff (postgresUpdateDiff ( before , after ) )
193198 testassert .ContainsInOrder (t , out , "IP allow-list:" , "(empty) → 1 entry" )
194199 })
195200
@@ -198,7 +203,7 @@ func TestPostgresUpdateDiff(t *testing.T) {
198203 after := basicPostgres ()
199204 after .ParameterOverrides = & client.PostgresParameterOverrides {"max_connections" : "200" }
200205
201- out := text .PostgresUpdateDiff (before , after )
206+ out := text .PostgresUpdateDiff (postgresUpdateDiff ( before , after ) )
202207 testassert .ContainsInOrder (t , out , "Parameter overrides:" , "updated" )
203208 })
204209
@@ -208,7 +213,7 @@ func TestPostgresUpdateDiff(t *testing.T) {
208213 after .Name = "renamed"
209214 after .HighAvailabilityEnabled = true
210215
211- out := text .PostgresUpdateDiff (before , after )
216+ out := text .PostgresUpdateDiff (postgresUpdateDiff ( before , after ) )
212217 testassert .ContainsInOrder (t , out , "Name:" , "High availability:" )
213218
214219 // Only changed fields appear; untouched fields are omitted.
0 commit comments