@@ -11,7 +11,6 @@ import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
11
11
import net.mullvad.mullvadvpn.compose.setContentWithTheme
12
12
import net.mullvad.mullvadvpn.compose.state.RelayFilterUiState
13
13
import net.mullvad.mullvadvpn.lib.model.Ownership
14
- import net.mullvad.mullvadvpn.lib.model.Provider
15
14
import net.mullvad.mullvadvpn.lib.model.ProviderId
16
15
import org.junit.jupiter.api.Test
17
16
import org.junit.jupiter.api.extension.RegisterExtension
@@ -30,7 +29,7 @@ class FilterScreenTest {
30
29
onApplyClick : () -> Unit = {},
31
30
onSelectedOwnership : (ownership: Ownership ? ) -> Unit = {},
32
31
onAllProviderCheckChange : (isChecked: Boolean ) -> Unit = {},
33
- onSelectedProvider : (checked: Boolean , provider: Provider ) -> Unit = { _, _ -> },
32
+ onSelectedProvider : (checked: Boolean , provider: ProviderId ) -> Unit = { _, _ -> },
34
33
) {
35
34
setContentWithTheme {
36
35
FilterScreen (
@@ -50,7 +49,7 @@ class FilterScreenTest {
50
49
initScreen(
51
50
state =
52
51
RelayFilterUiState (
53
- allProviders = DUMMY_RELAY_ALL_PROVIDERS ,
52
+ providerToOwnerships = DUMMY_RELAY_ALL_PROVIDERS ,
54
53
selectedOwnership = null ,
55
54
selectedProviders = DUMMY_SELECTED_PROVIDERS ,
56
55
)
@@ -65,7 +64,7 @@ class FilterScreenTest {
65
64
initScreen(
66
65
state =
67
66
RelayFilterUiState (
68
- allProviders = DUMMY_RELAY_ALL_PROVIDERS ,
67
+ providerToOwnerships = DUMMY_RELAY_ALL_PROVIDERS ,
69
68
selectedOwnership = null ,
70
69
selectedProviders = DUMMY_SELECTED_PROVIDERS ,
71
70
)
@@ -80,7 +79,7 @@ class FilterScreenTest {
80
79
initScreen(
81
80
state =
82
81
RelayFilterUiState (
83
- allProviders = DUMMY_RELAY_ALL_PROVIDERS ,
82
+ providerToOwnerships = DUMMY_RELAY_ALL_PROVIDERS ,
84
83
selectedOwnership = Ownership .MullvadOwned ,
85
84
selectedProviders = DUMMY_SELECTED_PROVIDERS ,
86
85
)
@@ -95,7 +94,7 @@ class FilterScreenTest {
95
94
initScreen(
96
95
state =
97
96
RelayFilterUiState (
98
- allProviders = DUMMY_RELAY_ALL_PROVIDERS ,
97
+ providerToOwnerships = DUMMY_RELAY_ALL_PROVIDERS ,
99
98
selectedOwnership = Ownership .Rented ,
100
99
selectedProviders = DUMMY_SELECTED_PROVIDERS ,
101
100
)
@@ -110,7 +109,7 @@ class FilterScreenTest {
110
109
initScreen(
111
110
state =
112
111
RelayFilterUiState (
113
- allProviders = DUMMY_RELAY_ALL_PROVIDERS ,
112
+ providerToOwnerships = DUMMY_RELAY_ALL_PROVIDERS ,
114
113
selectedOwnership = null ,
115
114
selectedProviders = DUMMY_SELECTED_PROVIDERS ,
116
115
)
@@ -128,58 +127,57 @@ class FilterScreenTest {
128
127
initScreen(
129
128
state =
130
129
RelayFilterUiState (
131
- allProviders = listOf () ,
130
+ providerToOwnerships = DUMMY_RELAY_ALL_PROVIDERS ,
132
131
selectedOwnership = null ,
133
- selectedProviders =
134
- listOf (Provider (ProviderId (" 31173" ), Ownership .MullvadOwned )),
132
+ selectedProviders = listOf (ProviderId (" 31173" )),
135
133
),
136
134
onApplyClick = mockClickListener,
137
135
)
138
136
onNodeWithText(" Apply" ).performClick()
139
137
verify { mockClickListener() }
140
138
}
141
139
140
+ @Test
141
+ fun ensureSelectedProviderIsShowEvenThoughItIsNotInAllProviders () =
142
+ composeExtension.use {
143
+ // Arrange
144
+ initScreen(
145
+ state =
146
+ RelayFilterUiState (
147
+ providerToOwnerships = DUMMY_RELAY_ALL_PROVIDERS ,
148
+ selectedOwnership = null ,
149
+ selectedProviders = listOf (ProviderId (" 1RemovedProvider" )),
150
+ )
151
+ )
152
+
153
+ // Act
154
+ onNodeWithText(" Providers" ).performClick()
155
+ // Asset
156
+ onNodeWithText(" 1RemovedProvider (removed)" ).assertExists()
157
+ }
158
+
142
159
companion object {
143
160
private val DUMMY_RELAY_ALL_PROVIDERS =
144
- listOf (
145
- Provider ( ProviderId (" 31173" ), Ownership .MullvadOwned ),
146
- Provider ( ProviderId (" 100TB" ), Ownership .Rented ),
147
- Provider ( ProviderId (" Blix" ), Ownership .MullvadOwned ),
148
- Provider ( ProviderId (" Creanova" ), Ownership .MullvadOwned ),
149
- Provider ( ProviderId (" DataPacket" ), Ownership .Rented ),
150
- Provider ( ProviderId (" HostRoyale" ), Ownership .Rented ),
151
- Provider ( ProviderId (" hostuniversal" ), Ownership .Rented ),
152
- Provider ( ProviderId (" iRegister" ), Ownership .Rented ),
153
- Provider ( ProviderId (" M247" ), Ownership .Rented ),
154
- Provider ( ProviderId (" Makonix" ), Ownership .Rented ),
155
- Provider ( ProviderId (" PrivateLayer" ), Ownership .Rented ),
156
- Provider ( ProviderId (" ptisp" ), Ownership .Rented ),
157
- Provider ( ProviderId (" Qnax" ), Ownership .Rented ),
158
- Provider ( ProviderId (" Quadranet" ), Ownership .Rented ),
159
- Provider ( ProviderId (" techfutures" ), Ownership .Rented ),
160
- Provider ( ProviderId (" Tzulo" ), Ownership .Rented ),
161
- Provider ( ProviderId (" xtom" ), Ownership .Rented ),
161
+ mapOf (
162
+ ProviderId (" 31173" ) to setOf ( Ownership .MullvadOwned ),
163
+ ProviderId (" 100TB" ) to setOf ( Ownership .Rented ),
164
+ ProviderId (" Blix" ) to setOf ( Ownership .MullvadOwned ),
165
+ ProviderId (" Creanova" ) to setOf ( Ownership .MullvadOwned ),
166
+ ProviderId (" DataPacket" ) to setOf ( Ownership .Rented ),
167
+ ProviderId (" HostRoyale" ) to setOf ( Ownership .Rented ),
168
+ ProviderId (" hostuniversal" ) to setOf ( Ownership .Rented ),
169
+ ProviderId (" iRegister" ) to setOf ( Ownership .Rented ),
170
+ ProviderId (" M247" ) to setOf ( Ownership .Rented ),
171
+ ProviderId (" Makonix" ) to setOf ( Ownership .Rented ),
172
+ ProviderId (" PrivateLayer" ) to setOf ( Ownership .Rented ),
173
+ ProviderId (" ptisp" ) to setOf ( Ownership .Rented ),
174
+ ProviderId (" Qnax" ) to setOf ( Ownership .Rented ),
175
+ ProviderId (" Quadranet" ) to setOf ( Ownership .Rented ),
176
+ ProviderId (" techfutures" ) to setOf ( Ownership .Rented ),
177
+ ProviderId (" Tzulo" ) to setOf ( Ownership .Rented ),
178
+ ProviderId (" xtom" ) to setOf ( Ownership .Rented ),
162
179
)
163
180
164
- private val DUMMY_SELECTED_PROVIDERS =
165
- listOf (
166
- Provider (ProviderId (" 31173" ), Ownership .MullvadOwned ),
167
- Provider (ProviderId (" 100TB" ), Ownership .Rented ),
168
- Provider (ProviderId (" Blix" ), Ownership .MullvadOwned ),
169
- Provider (ProviderId (" Creanova" ), Ownership .MullvadOwned ),
170
- Provider (ProviderId (" DataPacket" ), Ownership .Rented ),
171
- Provider (ProviderId (" HostRoyale" ), Ownership .Rented ),
172
- Provider (ProviderId (" hostuniversal" ), Ownership .Rented ),
173
- Provider (ProviderId (" iRegister" ), Ownership .Rented ),
174
- Provider (ProviderId (" M247" ), Ownership .Rented ),
175
- Provider (ProviderId (" Makonix" ), Ownership .Rented ),
176
- Provider (ProviderId (" PrivateLayer" ), Ownership .Rented ),
177
- Provider (ProviderId (" ptisp" ), Ownership .Rented ),
178
- Provider (ProviderId (" Qnax" ), Ownership .Rented ),
179
- Provider (ProviderId (" Quadranet" ), Ownership .Rented ),
180
- Provider (ProviderId (" techfutures" ), Ownership .Rented ),
181
- Provider (ProviderId (" Tzulo" ), Ownership .Rented ),
182
- Provider (ProviderId (" xtom" ), Ownership .Rented ),
183
- )
181
+ private val DUMMY_SELECTED_PROVIDERS = DUMMY_RELAY_ALL_PROVIDERS .keys.toList()
184
182
}
185
183
}
0 commit comments