web/satellite, testsuite/satellite/ui: removed onb CLI flow's Generate AG step and updated tests
Removed Generate access grant step. Updated according test and added Back button click test logic. Change-Id: I736eb4ecb4c3a2437c78af3f42da160b0f147d26
This commit is contained in:
parent
7d90770f8e
commit
9da3de1a89
@ -42,56 +42,128 @@ func TestOnboardingWizardCLIFlow(t *testing.T) {
|
||||
page.Keyboard.MustPress(input.Enter)
|
||||
|
||||
// Testing onboarding workflow uplinkCLI method
|
||||
// Welcome screen
|
||||
page.MustElementX("(//span[text()=\"Continue in cli\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
|
||||
// API key generated screen
|
||||
apiKeyGeneratedTitle := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, apiKeyGeneratedTitle, "API Key Generated")
|
||||
satelliteAddress := page.MustElement("[aria-roledescription=satellite-address]").MustText()
|
||||
require.NotEmpty(t, satelliteAddress)
|
||||
apiKey := page.MustElement("[aria-roledescription=api-key]").MustText()
|
||||
require.NotEmpty(t, apiKey)
|
||||
page.MustElementX("(//span[text()=\"< Back\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
welcomeTitle := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, welcomeTitle, "Welcome")
|
||||
page.MustElementX("(//span[text()=\"Continue in cli\"])").MustClick()
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
|
||||
// API key generated screen
|
||||
cliInstallTitle := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, cliInstallTitle, "Install Uplink CLI")
|
||||
page.MustElementX("(//span[text()=\"< Back\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
apiKeyGeneratedTitle1 := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, apiKeyGeneratedTitle1, "API Key Generated")
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
|
||||
// CLI setup screen
|
||||
cliSetupTitle := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, cliSetupTitle, "CLI Setup")
|
||||
page.MustElementX("(//span[text()=\"< Back\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
cliInstallTitle1 := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, cliInstallTitle1, "Install Uplink CLI")
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
|
||||
generateAccessGrantTitle := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, generateAccessGrantTitle, "Generate an Access Grant")
|
||||
page.MustWaitNavigation()
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
|
||||
// Create bucket screen
|
||||
createBucketTitle := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, createBucketTitle, "Create a bucket")
|
||||
page.MustElementX("(//span[text()=\"< Back\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
cliSetupTitle1 := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, cliSetupTitle1, "CLI Setup")
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
|
||||
// Ready to upload screen
|
||||
readyToUploadTitle := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, readyToUploadTitle, "Ready to upload")
|
||||
page.MustElementX("(//span[text()=\"< Back\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
createBucketTitle1 := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, createBucketTitle1, "Create a bucket")
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
|
||||
// List a bucket screen
|
||||
listTitle := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, listTitle, "Listing a bucket")
|
||||
page.MustElementX("(//span[text()=\"< Back\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
readyToUploadTitle1 := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, readyToUploadTitle1, "Ready to upload")
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
|
||||
// Download screen
|
||||
downloadTitle := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, downloadTitle, "Download")
|
||||
page.MustElementX("(//span[text()=\"< Back\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
listTitle1 := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, listTitle1, "Listing a bucket")
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
|
||||
// Share link screen
|
||||
shareLinkTitle := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, shareLinkTitle, "Share a link")
|
||||
page.MustElementX("(//span[text()=\"< Back\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
downloadTitle1 := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, downloadTitle1, "Download")
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
page.MustElementX("(//span[text()=\"Next >\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
|
||||
// Success screen
|
||||
successTitle := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, successTitle, "Wonderful")
|
||||
page.MustElementX("(//span[text()=\"Finish\"])").MustClick()
|
||||
page.MustWaitNavigation()
|
||||
dashboardTitle := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, dashboardTitle, "My First Project Dashboard")
|
||||
page.MustNavigateBack()
|
||||
successTitle1 := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, successTitle1, "Wonderful")
|
||||
page.MustElementX("(//button[contains(., 'Upgrade')])").MustClick()
|
||||
|
||||
// Upgrade to pro account modal
|
||||
addPMModalTitle := page.MustElement("[aria-roledescription=modal-title]").MustText()
|
||||
require.Contains(t, addPMModalTitle, "Upgrade to Pro Account")
|
||||
page.MustElement(".close-cross-container").MustClick()
|
||||
|
||||
dashboardTitle := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, dashboardTitle, "My First Project Dashboard")
|
||||
// Dashboard screen
|
||||
dashboardTitle1 := page.MustElement("[aria-roledescription=title]").MustText()
|
||||
require.Contains(t, dashboardTitle1, "My First Project Dashboard")
|
||||
})
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ func TestOnboardingWizardBrowser(t *testing.T) {
|
||||
page.Keyboard.MustPress(input.Enter)
|
||||
|
||||
// testing onboarding workflow browser
|
||||
page.MustElementX("(//span[text()=\"CONTINUE IN WEB\"])").MustClick()
|
||||
page.MustElementX("(//span[text()=\"Continue in web\"])").MustClick()
|
||||
objectBrowserWarning := page.MustElement("[aria-roledescription=sub-title]").MustText()
|
||||
require.Contains(t, objectBrowserWarning, "The object browser uses server side encryption.")
|
||||
page.MustElementX("(//span[text()=\"Continue\"])").MustClick()
|
||||
|
@ -5,7 +5,7 @@
|
||||
<div class="overview-area">
|
||||
<div class="overview-area__header">
|
||||
<WelcomeLeft />
|
||||
<h1 class="overview-area__header__title">Welcome</h1>
|
||||
<h1 class="overview-area__header__title" aria-roledescription="title">Welcome</h1>
|
||||
<WelcomeRight />
|
||||
</div>
|
||||
<p class="overview-area__subtitle">Let's get you started using Storj DCS</p>
|
||||
|
@ -67,7 +67,7 @@ export default class CLISetup extends Vue {
|
||||
* Holds on next button click logic.
|
||||
*/
|
||||
public async onNextClick(): Promise<void> {
|
||||
await this.$router.push(RouteConfig.OnboardingTour.with(RouteConfig.OnbCLIStep.with(RouteConfig.GenerateAG)).path);
|
||||
await this.$router.push(RouteConfig.OnboardingTour.with(RouteConfig.OnbCLIStep.with(RouteConfig.CreateBucket)).path);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -55,7 +55,7 @@ export default class CreateBucket extends Vue {
|
||||
* Holds on back button click logic.
|
||||
*/
|
||||
public async onBackClick(): Promise<void> {
|
||||
await this.$router.push(RouteConfig.OnboardingTour.with(RouteConfig.OnbCLIStep.with(RouteConfig.GenerateAG)).path);
|
||||
await this.$router.push(RouteConfig.OnboardingTour.with(RouteConfig.OnbCLIStep.with(RouteConfig.CLISetup)).path);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,89 +0,0 @@
|
||||
// Copyright (C) 2021 Storj Labs, Inc.
|
||||
// See LICENSE for copying information.
|
||||
|
||||
<template>
|
||||
<CLIFlowContainer
|
||||
:on-back-click="onBackClick"
|
||||
:on-next-click="onNextClick"
|
||||
title="Generate an Access Grant"
|
||||
>
|
||||
<template #icon>
|
||||
<Icon />
|
||||
</template>
|
||||
<template #content class="generate-ag">
|
||||
<p class="generate-ag__msg">
|
||||
Generate an Access Grant by running
|
||||
<b class="generate-ag__msg__bold">uplink share</b>
|
||||
with no restrictions. If you chose an access name, you'll need to specify it in the following command as
|
||||
<b class="generate-ag__msg__bold">--access=name</b>
|
||||
</p>
|
||||
<OSContainer>
|
||||
<template #windows>
|
||||
<TabWithCopy value="./uplink.exe share --readonly=false" />
|
||||
</template>
|
||||
<template #linux>
|
||||
<TabWithCopy value="uplink share --readonly=false" />
|
||||
</template>
|
||||
<template #macos>
|
||||
<TabWithCopy value="uplink share --readonly=false" />
|
||||
</template>
|
||||
</OSContainer>
|
||||
<p class="generate-ag__msg">Your Access Grant should have been output.</p>
|
||||
</template>
|
||||
</CLIFlowContainer>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import { RouteConfig } from "@/router";
|
||||
|
||||
import CLIFlowContainer from "@/components/onboardingTour/steps/common/CLIFlowContainer.vue";
|
||||
import OSContainer from "@/components/onboardingTour/steps/common/OSContainer.vue";
|
||||
import TabWithCopy from "@/components/onboardingTour/steps/common/TabWithCopy.vue";
|
||||
|
||||
import Icon from '@/../static/images/onboardingTour/generateAGStep.svg';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
CLIFlowContainer,
|
||||
Icon,
|
||||
OSContainer,
|
||||
TabWithCopy,
|
||||
}
|
||||
})
|
||||
export default class GenerateAG extends Vue {
|
||||
/**
|
||||
* Holds on back button click logic.
|
||||
*/
|
||||
public async onBackClick(): Promise<void> {
|
||||
await this.$router.push(RouteConfig.OnboardingTour.with(RouteConfig.OnbCLIStep.with(RouteConfig.CLISetup)).path);
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds on next button click logic.
|
||||
*/
|
||||
public async onNextClick(): Promise<void> {
|
||||
await this.$router.push(RouteConfig.OnboardingTour.with(RouteConfig.OnbCLIStep.with(RouteConfig.CreateBucket)).path);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.generate-ag {
|
||||
font-family: 'font_regular', sans-serif;
|
||||
|
||||
&__msg {
|
||||
font-size: 18px;
|
||||
line-height: 32px;
|
||||
letter-spacing: 0.15px;
|
||||
color: #4e4b66;
|
||||
|
||||
&__bold {
|
||||
font-family: 'font_medium', sans-serif;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -38,7 +38,6 @@ import ProjectMembersArea from '@/components/team/ProjectMembersArea.vue';
|
||||
import CLIInstall from "@/components/onboardingTour/steps/cliFlow/CLIInstall.vue";
|
||||
import APIKey from "@/components/onboardingTour/steps/cliFlow/APIKey.vue";
|
||||
import CLISetup from "@/components/onboardingTour/steps/cliFlow/CLISetup.vue";
|
||||
import GenerateAG from "@/components/onboardingTour/steps/cliFlow/GenerateAG.vue";
|
||||
import CreateBucket from "@/components/onboardingTour/steps/cliFlow/CreateBucket.vue";
|
||||
import UploadObject from "@/components/onboardingTour/steps/cliFlow/UploadObject.vue";
|
||||
import ListObject from "@/components/onboardingTour/steps/cliFlow/ListObject.vue";
|
||||
@ -102,7 +101,6 @@ export abstract class RouteConfig {
|
||||
public static APIKey = new NavigationLink('api-key', 'Onboarding API Key');
|
||||
public static CLIInstall = new NavigationLink('cli-install', 'Onboarding CLI Install');
|
||||
public static CLISetup = new NavigationLink('cli-setup', 'Onboarding CLI Setup');
|
||||
public static GenerateAG = new NavigationLink('generate-ag', 'Onboarding Generate AG');
|
||||
public static CreateBucket = new NavigationLink('create-bucket', 'Onboarding Create Bucket');
|
||||
public static UploadObject = new NavigationLink('upload-object', 'Onboarding Upload Object');
|
||||
public static ListObject = new NavigationLink('list-object', 'Onboarding List Object');
|
||||
@ -300,11 +298,6 @@ export const router = new Router({
|
||||
name: RouteConfig.CLISetup.name,
|
||||
component: CLISetup,
|
||||
},
|
||||
{
|
||||
path: RouteConfig.GenerateAG.path,
|
||||
name: RouteConfig.GenerateAG.name,
|
||||
component: GenerateAG,
|
||||
},
|
||||
{
|
||||
path: RouteConfig.CreateBucket.path,
|
||||
name: RouteConfig.CreateBucket.name,
|
||||
|
@ -8,7 +8,7 @@ exports[`OverviewStep.vue renders correctly 1`] = `
|
||||
<path d="M16.7741 6.11976L22.209 11.5547L27.6439 6.11976L22.209 0.68483L16.7741 6.11976Z" fill="#FF458B"></path>
|
||||
<path d="M0 16.5204L0 21.4116H4.89119V16.5204H0Z" fill="#0149FF"></path>
|
||||
</svg>
|
||||
<h1 class="overview-area__header__title">Welcome</h1> <svg width="77" height="35" viewBox="0 0 77 35" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<h1 aria-roledescription="title" class="overview-area__header__title">Welcome</h1> <svg width="77" height="35" viewBox="0 0 77 35" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M18.7226 18.9985L9.8291 10.105L0.935606 18.9985L9.8291 27.892L18.7226 18.9985Z" fill="#FFC600"></path>
|
||||
<path d="M40.8472 8.51281L40.8472 0.82666L33.161 0.826659L33.161 8.51281L40.8472 8.51281Z" fill="#00E567"></path>
|
||||
|
Loading…
Reference in New Issue
Block a user