Skip to content

Commit

Permalink
[backend] WIP Update model (#4538)
Browse files Browse the repository at this point in the history
  • Loading branch information
Goumies authored and marieflorescontact committed Jul 11, 2024
1 parent 04c83f1 commit 1ce4f24
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9881,6 +9881,7 @@ type CaseIncident implements BasicObject & StixObject & StixCoreObject & StixDom
response_types: [String!]
severity: String
priority: String
authorized_members: [MemberAccess!]
}

enum CaseIncidentsOrdering {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import { describe, it, expect } from 'vitest';
import gql from 'graphql-tag';
import { queryAsAdmin } from '../../utils/testQuery';
import type { CaseIncident } from '../../../src/generated/graphql';

describe('Case Incident Response resolver standard behavior', () => {
let caseIncidentResponseId = '';
let caseIncidentResponse: CaseIncident;

const READ_QUERY = gql`
query caseIncident($id: String!) {
Expand Down Expand Up @@ -44,7 +45,71 @@ describe('Case Incident Response resolver standard behavior', () => {
});
expect(caseIncidentResponseData).not.toBeNull();
expect(caseIncidentResponseData?.data?.caseIncidentAdd.authorized_members).not.toBeUndefined();
caseIncidentResponseId = caseIncidentResponseData?.data?.caseIncidentAdd.id;
caseIncidentResponse = caseIncidentResponseData?.data?.caseIncidentAdd;
});
it('should Case Incident Response loaded by internal id', async () => {
const queryResult = await queryAsAdmin({ query: READ_QUERY, variables: { id: caseIncidentResponse.id } });
expect(queryResult).not.toBeNull();
expect(queryResult?.data?.caseIncident).not.toBeNull();
expect(queryResult?.data?.caseIncident.id).toEqual(caseIncidentResponse.id);
expect(queryResult?.data?.caseIncident.toStix.length).toBeGreaterThan(5);
});
it('should Case Incident Response loaded by standard id', async () => {
const queryResult = await queryAsAdmin({ query: READ_QUERY, variables: { id: caseIncidentResponse.standard_id } });
expect(queryResult).not.toBeNull();
expect(queryResult?.data?.caseIncident).not.toBeNull();
expect(queryResult?.data?.caseIncident.id).toEqual(caseIncidentResponse.id);
});
it('should list Case Incident Response', async () => {
const LIST_QUERY = gql`
query caseIncidents(
$first: Int
$after: ID
$orderBy: CaseIncidentsOrdering
$orderMode: OrderingMode
$filters: FilterGroup
$search: String
$toStix: Boolean
) {
caseIncidents(
first: $first
after: $after
orderBy: $orderBy
orderMode: $orderMode
filters: $filters
search: $search
toStix: $toStix
) {
edges {
node {
id
standard_id
}
}
}
}
`;
const queryResult = await queryAsAdmin({ query: LIST_QUERY, variables: { first: 10 } });
expect(queryResult?.data?.caseIncidents.edges.length).toEqual(1);
});
it('should update case', async () => {
const UPDATE_QUERY = gql`
mutation CaseIncident($id: ID!, $input: [EditInput]!) {
stixDomainObjectEdit(id: $id) {
fieldPatch(input: $input) {
id
... on Case {
name
}
}
}
}
`;
const queryResult = await queryAsAdmin({
query: UPDATE_QUERY,
variables: { id: caseIncidentResponse.id, input: { key: 'name', value: ['Case - updated'] } },
});
expect(queryResult?.data?.stixDomainObjectEdit.fieldPatch.name).toEqual('Case - updated');
});
it('should Case Incident Response deleted', async () => {
const DELETE_QUERY = gql`
Expand All @@ -55,10 +120,10 @@ describe('Case Incident Response resolver standard behavior', () => {
// Delete the case
await queryAsAdmin({
query: DELETE_QUERY,
variables: { id: caseIncidentResponseId },
variables: { id: caseIncidentResponse.id },
});
// Verify is no longer found
const queryResult = await queryAsAdmin({ query: READ_QUERY, variables: { id: caseIncidentResponseId } });
const queryResult = await queryAsAdmin({ query: READ_QUERY, variables: { id: caseIncidentResponse.id } });
expect(queryResult).not.toBeNull();
expect(queryResult?.data?.caseIncident).toBeNull();
});
Expand Down

0 comments on commit 1ce4f24

Please sign in to comment.