|
1 | 1 | package onboarding |
2 | 2 |
|
3 | | -import "testing" |
| 3 | +import ( |
| 4 | + "testing" |
| 5 | + |
| 6 | + "github.com/usetero/cli/internal/core/bootstrap" |
| 7 | +) |
4 | 8 |
|
5 | 9 | func TestRewindGateFor(t *testing.T) { |
6 | 10 | t.Parallel() |
7 | 11 |
|
8 | 12 | tests := []struct { |
9 | 13 | name string |
10 | 14 | target Gate |
11 | | - state onboardingState |
| 15 | + state bootstrap.State |
12 | 16 | want Gate |
13 | 17 | }{ |
14 | | - {name: "no requirements gate unchanged", target: GateOrgSelect, state: onboardingState{}, want: GateOrgSelect}, |
15 | | - {name: "account gate rewinds to org", target: GateAccountSelect, state: onboardingState{}, want: GateOrgSelect}, |
16 | | - {name: "datadog check rewinds to account", target: GateDatadogCheck, state: onboardingState{Org: ptrOrg("org-1")}, want: GateAccountSelect}, |
17 | | - {name: "datadog api rewinds to region when site missing", target: GateDatadogAPIKey, state: onboardingState{Org: ptrOrg("org-1"), Account: ptrAccount("acc-1")}, want: GateDatadogRegion}, |
18 | | - {name: "datadog app rewinds to api key when api key missing", target: GateDatadogAppKey, state: onboardingState{Org: ptrOrg("org-1"), Account: ptrAccount("acc-1"), DDSite: "US1"}, want: GateDatadogAPIKey}, |
19 | | - {name: "discovery rewinds to datadog check without dd account", target: GateDatadogDiscovery, state: onboardingState{Org: ptrOrg("org-1"), Account: ptrAccount("acc-1")}, want: GateDatadogCheck}, |
20 | | - {name: "sync rewinds to workspace", target: GateSync, state: onboardingState{Org: ptrOrg("org-1"), Account: ptrAccount("acc-1")}, want: GateWorkspaceSelect}, |
21 | | - {name: "sync stays when requirements met", target: GateSync, state: onboardingState{Org: ptrOrg("org-1"), Account: ptrAccount("acc-1"), Workspace: ptrWorkspace("ws-1")}, want: GateSync}, |
| 18 | + {name: "no requirements gate unchanged", target: GateOrgSelect, state: bootstrap.State{}, want: GateOrgSelect}, |
| 19 | + {name: "account gate rewinds to org", target: GateAccountSelect, state: bootstrap.State{}, want: GateOrgSelect}, |
| 20 | + {name: "datadog check rewinds to account", target: GateDatadogCheck, state: bootstrap.State{Org: ptrOrg("org-1")}, want: GateAccountSelect}, |
| 21 | + {name: "datadog api rewinds to region when site missing", target: GateDatadogAPIKey, state: bootstrap.State{Org: ptrOrg("org-1"), Account: ptrAccount("acc-1")}, want: GateDatadogRegion}, |
| 22 | + {name: "datadog app rewinds to api key when api key missing", target: GateDatadogAppKey, state: bootstrap.State{Org: ptrOrg("org-1"), Account: ptrAccount("acc-1"), DDSite: "US1"}, want: GateDatadogAPIKey}, |
| 23 | + {name: "discovery rewinds to datadog check without dd account", target: GateDatadogDiscovery, state: bootstrap.State{Org: ptrOrg("org-1"), Account: ptrAccount("acc-1")}, want: GateDatadogCheck}, |
| 24 | + {name: "sync rewinds to workspace", target: GateSync, state: bootstrap.State{Org: ptrOrg("org-1"), Account: ptrAccount("acc-1")}, want: GateWorkspaceSelect}, |
| 25 | + {name: "sync stays when requirements met", target: GateSync, state: bootstrap.State{Org: ptrOrg("org-1"), Account: ptrAccount("acc-1"), Workspace: ptrWorkspace("ws-1")}, want: GateSync}, |
22 | 26 | } |
23 | 27 |
|
24 | 28 | for _, tc := range tests { |
|
0 commit comments