add schedule integration test locators

This commit is contained in:
Keith J. Grant
2022-09-12 13:54:00 -07:00
parent 1e952bab95
commit 16da9b784a
2 changed files with 91 additions and 37 deletions

View File

@@ -83,6 +83,8 @@ export default function FrequencyDetails({
6: t`Sunday`, 6: t`Sunday`,
}; };
const prefix = isException ? `exception-${type}` : `frequency-${type}`;
return ( return (
<div> <div>
<Label>{label}</Label> <Label>{label}</Label>
@@ -90,6 +92,7 @@ export default function FrequencyDetails({
<Detail <Detail
label={isException ? t`Skip every` : t`Run every`} label={isException ? t`Skip every` : t`Run every`}
value={getRunEveryLabel()} value={getRunEveryLabel()}
dataCy={`${prefix}-run-every`}
/> />
{type === 'week' ? ( {type === 'week' ? (
<Detail <Detail
@@ -98,10 +101,15 @@ export default function FrequencyDetails({
.sort(sortWeekday) .sort(sortWeekday)
.map((d) => weekdays[d.weekday]) .map((d) => weekdays[d.weekday])
.join(', ')} .join(', ')}
dataCy={`${prefix}-days-of-week`}
/> />
) : null} ) : null}
<RunOnDetail type={type} options={options} /> <RunOnDetail type={type} options={options} prefix={prefix} />
<Detail label={t`End`} value={getEndValue(type, options, timezone)} /> <Detail
label={t`End`}
value={getEndValue(type, options, timezone)}
dataCy={`${prefix}-end`}
/>
</DetailList> </DetailList>
</div> </div>
); );
@@ -113,11 +121,15 @@ function sortWeekday(a, b) {
return a.weekday - b.weekday; return a.weekday - b.weekday;
} }
function RunOnDetail({ type, options }) { function RunOnDetail({ type, options, prefix }) {
if (type === 'month') { if (type === 'month') {
if (options.runOn === 'day') { if (options.runOn === 'day') {
return ( return (
<Detail label={t`Run on`} value={t`Day ${options.runOnDayNumber}`} /> <Detail
label={t`Run on`}
value={t`Day ${options.runOnDayNumber}`}
dataCy={`${prefix}-run-on-day`}
/>
); );
} }
const dayOfWeek = options.runOnTheDay; const dayOfWeek = options.runOnTheDay;
@@ -138,6 +150,7 @@ function RunOnDetail({ type, options }) {
/> />
) )
} }
dataCy={`${prefix}-run-on-day`}
/> />
); );
} }
@@ -161,6 +174,7 @@ function RunOnDetail({ type, options }) {
<Detail <Detail
label={t`Run on`} label={t`Run on`}
value={`${months[options.runOnTheMonth]} ${options.runOnDayMonth}`} value={`${months[options.runOnTheMonth]} ${options.runOnDayMonth}`}
dataCy={`${prefix}-run-on-day`}
/> />
); );
} }
@@ -195,6 +209,7 @@ function RunOnDetail({ type, options }) {
/> />
) )
} }
dataCy={`${prefix}-run-on-day`}
/> />
); );
} }

View File

@@ -278,64 +278,84 @@ function ScheduleDetail({ hasDaysToKeepField, schedule, surveyConfig }) {
isDisabled={isDisabled} isDisabled={isDisabled}
/> />
<DetailList gutter="sm"> <DetailList gutter="sm">
<Detail label={t`Name`} value={name} /> <Detail label={t`Name`} value={name} dataCy="schedule-name" />
<Detail label={t`Description`} value={description} /> <Detail
label={t`Description`}
value={description}
dataCy="schedule-description"
/>
<Detail <Detail
label={t`First Run`} label={t`First Run`}
value={formatDateString(dtstart, timezone)} value={formatDateString(dtstart, timezone)}
dataCy="schedule-first-run"
/> />
<Detail <Detail
label={t`Next Run`} label={t`Next Run`}
value={formatDateString(next_run, timezone)} value={formatDateString(next_run, timezone)}
dataCy="schedule-next-run"
/> />
<Detail label={t`Last Run`} value={formatDateString(dtend, timezone)} /> <Detail label={t`Last Run`} value={formatDateString(dtend, timezone)} />
<Detail <Detail
label={t`Local Time Zone`} label={t`Local Time Zone`}
value={timezone} value={timezone}
helpText={helpText.localTimeZone(config)} helpText={helpText.localTimeZone(config)}
dataCy="schedule-timezone"
/>
<Detail
label={t`Repeat Frequency`}
value={repeatFrequency}
dataCy="schedule-repeat-frequency"
/> />
<Detail label={t`Repeat Frequency`} value={repeatFrequency} />
<Detail <Detail
label={t`Exception Frequency`} label={t`Exception Frequency`}
value={exceptionRepeatFrequency} value={exceptionRepeatFrequency}
dataCy="schedule-exception-frequency"
/> />
</DetailList> </DetailList>
{frequency.length ? ( {frequency.length ? (
<FrequencyDetailsContainer> <FrequencyDetailsContainer>
<p> <div ouia-component-id="schedule-frequency-details">
<strong>{t`Frequency Details`}</strong> <p>
</p> <strong>{t`Frequency Details`}</strong>
{frequency.map((freq) => ( </p>
<FrequencyDetails {frequency.map((freq) => (
key={freq} <FrequencyDetails
type={freq} key={freq}
label={frequencies[freq]} type={freq}
options={frequencyOptions[freq]} label={frequencies[freq]}
timezone={timezone} options={frequencyOptions[freq]}
/> timezone={timezone}
))} />
))}
</div>
</FrequencyDetailsContainer> </FrequencyDetailsContainer>
) : null} ) : null}
{exceptionFrequency.length ? ( {exceptionFrequency.length ? (
<FrequencyDetailsContainer> <FrequencyDetailsContainer>
<p css="border-top: 0"> <div ouia-component-id="schedule-exception-details">
<strong>{t`Frequency Exception Details`}</strong> <p css="border-top: 0">
</p> <strong>{t`Frequency Exception Details`}</strong>
{exceptionFrequency.map((freq) => ( </p>
<FrequencyDetails {exceptionFrequency.map((freq) => (
key={freq} <FrequencyDetails
type={freq} key={freq}
label={frequencies[freq]} type={freq}
options={exceptionOptions[freq]} label={frequencies[freq]}
timezone={timezone} options={exceptionOptions[freq]}
isException timezone={timezone}
/> isException
))} />
))}
</div>
</FrequencyDetailsContainer> </FrequencyDetailsContainer>
) : null} ) : null}
<DetailList gutter="sm"> <DetailList gutter="sm">
{hasDaysToKeepField ? ( {hasDaysToKeepField ? (
<Detail label={t`Days of Data to Keep`} value={daysToKeep} /> <Detail
label={t`Days of Data to Keep`}
value={daysToKeep}
dataCy="schedule-days-to-keep"
/>
) : null} ) : null}
<ScheduleOccurrences preview={preview} tz={timezone} /> <ScheduleOccurrences preview={preview} tz={timezone} />
<UserDateDetail <UserDateDetail
@@ -355,7 +375,11 @@ function ScheduleDetail({ hasDaysToKeepField, schedule, surveyConfig }) {
<PromptDivider /> <PromptDivider />
<PromptDetailList> <PromptDetailList>
{ask_job_type_on_launch && ( {ask_job_type_on_launch && (
<Detail label={t`Job Type`} value={job_type} /> <Detail
label={t`Job Type`}
value={job_type}
dataCy="shedule-job-type"
/>
)} )}
{showInventoryDetail && ( {showInventoryDetail && (
<Detail <Detail
@@ -375,19 +399,31 @@ function ScheduleDetail({ hasDaysToKeepField, schedule, surveyConfig }) {
' ' ' '
) )
} }
dataCy="schedule-inventory"
/> />
)} )}
{ask_verbosity_on_launch && ( {ask_verbosity_on_launch && (
<Detail label={t`Verbosity`} value={VERBOSITY()[verbosity]} /> <Detail
label={t`Verbosity`}
value={VERBOSITY()[verbosity]}
dataCy="schedule-verbosity"
/>
)} )}
{ask_scm_branch_on_launch && ( {ask_scm_branch_on_launch && (
<Detail label={t`Source Control Branch`} value={scm_branch} /> <Detail
label={t`Source Control Branch`}
value={scm_branch}
dataCy="schedule-scm-branch"
/>
)}
{ask_limit_on_launch && (
<Detail label={t`Limit`} value={limit} dataCy="schedule-limit" />
)} )}
{ask_limit_on_launch && <Detail label={t`Limit`} value={limit} />}
{showDiffModeDetail && ( {showDiffModeDetail && (
<Detail <Detail
label={t`Show Changes`} label={t`Show Changes`}
value={diff_mode ? t`On` : t`Off`} value={diff_mode ? t`On` : t`Off`}
dataCy="schedule-show-changes"
/> />
)} )}
{showCredentialsDetail && ( {showCredentialsDetail && (
@@ -410,6 +446,7 @@ function ScheduleDetail({ hasDaysToKeepField, schedule, surveyConfig }) {
))} ))}
</ChipGroup> </ChipGroup>
} }
dataCy="schedule-credentials"
/> />
)} )}
{showTagsDetail && ( {showTagsDetail && (
@@ -433,6 +470,7 @@ function ScheduleDetail({ hasDaysToKeepField, schedule, surveyConfig }) {
))} ))}
</ChipGroup> </ChipGroup>
} }
dataCy="schedule-job-tags"
/> />
)} )}
{showSkipTagsDetail && ( {showSkipTagsDetail && (
@@ -456,6 +494,7 @@ function ScheduleDetail({ hasDaysToKeepField, schedule, surveyConfig }) {
))} ))}
</ChipGroup> </ChipGroup>
} }
dataCy="schedule-skip-tags"
/> />
)} )}
{showVariablesDetail && ( {showVariablesDetail && (