Skip to content

Add policy type column

Paul Gascou-Vaillancourt requested to merge 273781-policy-type-column into master

What does this MR do?

  • Add the sortable policy type column.
  • Make the updatedAt column sortable.
  • Set default sort to updateAt desc.

How to test this?

Since it's not yet possible to create scan execution policies, you'll need to mock some client-side. You can do that by applying the following patch:

diff --git a/ee/app/assets/javascripts/threat_monitoring/graphql/queries/scan_execution_policies.query.graphql b/ee/app/assets/javascripts/threat_monitoring/graphql/queries/scan_execution_policies.query.graphql
index 0b9a2e08e8a..9c3ba33ddf6 100644
--- a/ee/app/assets/javascripts/threat_monitoring/graphql/queries/scan_execution_policies.query.graphql
+++ b/ee/app/assets/javascripts/threat_monitoring/graphql/queries/scan_execution_policies.query.graphql
@@ -1,5 +1,5 @@
 query scanExecutionPolicies($fullPath: ID!) {
-  project(fullPath: $fullPath) {
+  project(fullPath: $fullPath) @client {
     scanExecutionPolicies {
       nodes {
         name
diff --git a/ee/app/assets/javascripts/threat_monitoring/index.js b/ee/app/assets/javascripts/threat_monitoring/index.js
index 83e39a6355b..5eeb6b08b42 100644
--- a/ee/app/assets/javascripts/threat_monitoring/index.js
+++ b/ee/app/assets/javascripts/threat_monitoring/index.js
@@ -9,7 +9,34 @@ Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
   defaultClient: createDefaultClient(
-    {},
+    {
+      Query: {
+        project: () => {
+          return {
+            __typename: 'Project',
+            scanExecutionPolicies: {
+              __typename: 'ScanExecutionPolicyConnection',
+              nodes: [
+                {
+                  __typename: 'ScanExecutionPolicy',
+                  name: 'Scan execution policy',
+                  yaml: 'some yaml',
+                  enabled: true,
+                  updatedAt: '2021-06-18T18:25:42Z',
+                },
+                {
+                  __typename: 'ScanExecutionPolicy',
+                  name: 'Execute DAST scan',
+                  yaml: 'some yaml',
+                  enabled: false,
+                  updatedAt: '2021-06-20T18:25:42Z',
+                },
+              ],
+            },
+          };
+        },
+      },
+    },
     {
       assumeImmutableResults: true,
       cacheConfig: {

Screenshots (strongly suggested)

Note: the screenshots below were captured before !64959 (merged) was merged, so the Status column still uses the old design.

Before

Screen_Shot_2021-06-29_at_3.14.03_PM

After

Context Screenshot
Default sort Screen_Shot_2021-06-30_at_6.07.46_PM
Sort by update date ascending Screen_Shot_2021-06-30_at_6.08.23_PM
Sort by policy type descending Screen_Shot_2021-06-30_at_6.09.19_PM
Sort by policy type ascending Screen_Shot_2021-06-30_at_6.09.32_PM

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Related to #273781 (closed)

Edited by Paul Gascou-Vaillancourt

Merge request reports