Commit 35c521ee authored by Ramya Authappan's avatar Ramya Authappan

Merge branch 'qa-e2e-secure-license-compliance-settings' into 'master'

Added more specific License Compliance E2E settings tests

Closes gitlab-org/quality/testcases#139, gitlab-org/quality/testcases#138, and gitlab-org/quality/testcases#137

See merge request gitlab-org/gitlab!19831
parents b6c1b1db 56d4ffd2
......@@ -55,7 +55,7 @@ export default {
};
</script>
<template>
<div>
<div data-qa-selector="license_compliance_row">
<issue-status-icon :status="status" class="float-left append-right-default" />
<span class="js-license-name" data-qa-selector="license_name_content">{{ license.name }}</span>
<div class="float-right">
......
......@@ -21,9 +21,26 @@ module QA::EE
end
view 'ee/app/assets/javascripts/vue_shared/license_management/components/license_management_row.vue' do
element :license_compliance_row
element :license_name_content
end
view 'app/assets/javascripts/reports/components/issue_status_icon.vue' do
element :icon_status, ':data-qa-selector="`status_${status}_icon`" ' # rubocop:disable QA/ElementWithPattern
end
def has_approved_license?(name)
within_element(:license_compliance_row, text: name) do
has_element?(:status_success_icon)
end
end
def has_denied_license?(name)
within_element(:license_compliance_row, text: name) do
has_element?(:status_failed_icon)
end
end
def approve_license(license)
click_element :license_add_button
expand_select_list
......@@ -31,9 +48,7 @@ module QA::EE
click_element :approved_license_radio
click_element :add_license_submit_button
within_element :license_compliance_list do
has_element?(:license_name_content, text: license)
end
has_approved_license? license
end
def deny_license(license)
......@@ -43,9 +58,7 @@ module QA::EE
click_element :blacklisted_license_radio
click_element :add_license_submit_button
within_element :license_compliance_list do
has_element?(:license_name_content, text: license)
end
has_denied_license? license
end
end
end
......
......@@ -4,11 +4,44 @@ require 'pathname'
module QA
context 'Secure', :docker do
describe 'License Compliance' do
let(:number_of_licenses_in_fixture) { 2 }
let(:approved_license_name) { "MIT" }
let(:denied_license_name) { "WTFPL" }
describe 'License Compliance settings page' do
before do
Runtime::Browser.visit(:gitlab, Page::Main::Login)
Page::Main::Login.perform(&:sign_in_using_credentials)
@project = Resource::Project.fabricate_via_api! do |project|
project.name = Runtime::Env.auto_devops_project_name || 'project-with-secure'
project.description = 'Project with Secure'
end
@project.visit!
Page::Project::Menu.perform(&:go_to_ci_cd_settings)
Page::Project::Settings::CICD.perform(&:expand_license_compliance)
end
it 'can approve a license in the settings page' do
QA::EE::Page::Project::Settings::LicenseCompliance.perform do |license_compliance|
license_compliance.approve_license approved_license_name
expect(license_compliance).to have_approved_license approved_license_name
end
end
it 'can deny a license in the settings page' do
QA::EE::Page::Project::Settings::LicenseCompliance.perform do |license_compliance|
license_compliance.deny_license denied_license_name
expect(license_compliance).to have_denied_license denied_license_name
end
end
end
describe 'License Compliance pipeline reports' do
let(:number_of_licenses_in_fixture) { 2 }
after do
Service::DockerRun::GitlabRunner.new(@executor).remove!
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment