Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion dist/js/subworkflows/create.js
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ function createSubworkflow({
function createSubworkflowByName({
appName,
swfName,
workflowSubworkflowMapByApplication = _standata.workflowSubforkflowMapByApplication,
workflowSubworkflowMapByApplication,
...swArgs
}) {
const {
Expand Down
5 changes: 2 additions & 3 deletions dist/js/workflows/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ exports.createWorkflows = createWorkflows;
var _ade = require("@mat3ra/ade");
var _JSONSchemasInterface = _interopRequireDefault(require("@mat3ra/esse/dist/js/esse/JSONSchemasInterface"));
var _schemas = _interopRequireDefault(require("@mat3ra/esse/dist/js/schemas.json"));
var _standata = require("@mat3ra/standata");
var _patch = require("../patch");
var _create = require("./create");
var _workflow = require("./workflow");
Expand All @@ -42,7 +41,7 @@ _JSONSchemasInterface.default.setSchemas(_schemas.default);
function createWorkflows({
appName = null,
workflowCls = _workflow.Workflow,
workflowSubworkflowMapByApplication = _standata.workflowSubforkflowMapByApplication,
workflowSubworkflowMapByApplication,
...swArgs
}) {
let apps = appName !== null ? [appName] : _ade.allApplications;
Expand All @@ -51,7 +50,7 @@ function createWorkflows({
if (appName === null) {
if (apps && apps.sort().join(",") !== allApplicationsFromWorkflowData.sort().join(",")) {
// eslint-disable-next-line no-console
console.warn(`Warning: allApplications and allApplicationsFromWorkflowData do not match:
console.warn(`Warning: allApplications and allApplicationsFromWorkflowData do not match:
${apps.sort().join(",")} !== ${allApplicationsFromWorkflowData.sort().join(",")}`);
console.warn("Using allApplicationsFromWorkflowData");
}
Expand Down
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
"@mat3ra/code": "2025.10.24-0",
"@mat3ra/esse": "2025.11.26-0",
"@mat3ra/made": "2025.7.15-0",
"@mat3ra/standata": "2025.11.12-0",
"@mat3ra/standata": "git+https://github.com/Exabyte-io/standata.git#3c5b6365a6a5fcfbbd4e5da3a30cd5dd4c0301ee",
"chai": "^4.3.4",
"eslint": "7.32.0",
"eslint-config-airbnb": "19.0.2",
Expand Down
4 changes: 2 additions & 2 deletions src/js/subworkflows/create.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
MethodFactory,
ModelFactory,
} from "@mat3ra/mode";
import { ApplicationMethodStandata, workflowSubforkflowMapByApplication } from "@mat3ra/standata";
import { ApplicationMethodStandata } from "@mat3ra/standata";
import _ from "lodash";

import { UnitFactory } from "../units";
Expand Down Expand Up @@ -202,7 +202,7 @@ function createSubworkflow({
function createSubworkflowByName({
appName,
swfName,
workflowSubworkflowMapByApplication = workflowSubforkflowMapByApplication,
workflowSubworkflowMapByApplication,
...swArgs
}) {
const { subworkflows } = workflowSubworkflowMapByApplication;
Expand Down
5 changes: 2 additions & 3 deletions src/js/workflows/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { allApplications } from "@mat3ra/ade";
import JSONSchemasInterface from "@mat3ra/esse/dist/js/esse/JSONSchemasInterface";
import schemas from "@mat3ra/esse/dist/js/schemas.json";
import { workflowSubforkflowMapByApplication } from "@mat3ra/standata";

// Import Template here to apply context provider patch
// eslint-disable-next-line no-unused-vars
Expand All @@ -23,7 +22,7 @@ JSONSchemasInterface.setSchemas(schemas);
function createWorkflows({
appName = null,
workflowCls = Workflow,
workflowSubworkflowMapByApplication = workflowSubforkflowMapByApplication,
workflowSubworkflowMapByApplication,
...swArgs
}) {
let apps = appName !== null ? [appName] : allApplications;
Expand All @@ -35,7 +34,7 @@ function createWorkflows({
if (apps && apps.sort().join(",") !== allApplicationsFromWorkflowData.sort().join(",")) {
// eslint-disable-next-line no-console
console.warn(
`Warning: allApplications and allApplicationsFromWorkflowData do not match:
`Warning: allApplications and allApplicationsFromWorkflowData do not match:
${apps.sort().join(",")} !== ${allApplicationsFromWorkflowData.sort().join(",")}`,
);
console.warn("Using allApplicationsFromWorkflowData");
Expand Down
38 changes: 11 additions & 27 deletions tests/js/subworkflow.test.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ApplicationRegistry } from "@mat3ra/ade";
import { workflowSubforkflowMapByApplication } from "@mat3ra/standata";
import { workflowSubworkflowMapByApplication } from "@mat3ra/standata";
import { expect } from "chai";

import { createSubworkflowByName, Subworkflow } from "../../src/js/subworkflows";
Expand All @@ -16,29 +16,25 @@ const conditionUnitData = {
};

describe("subworkflows", () => {
it("have updateContext function", () => {
const subworkflow = createSubworkflowByName({
let subworkflow;

beforeEach(() => {
subworkflow = createSubworkflowByName({
appName: "espresso",
swfName: "total_energy",
workflowSubworkflowMapByApplication,
});
});

it("have updateContext function", () => {
expect(typeof subworkflow.updateContext).to.be.equal("function");
});
it("can update context", () => {
const subworkflow = createSubworkflowByName({
appName: "espresso",
swfName: "total_energy",
workflowSubworkflowMapByApplication: workflowSubforkflowMapByApplication,
});
const newContext = { testKey: "testValue" };
subworkflow.updateContext(newContext);
expect(subworkflow.context).to.include(newContext);
});
it("add unit to list end", () => {
const subworkflow = createSubworkflowByName({
appName: "espresso",
swfName: "total_energy",
});

expect(subworkflow.units.length).to.be.equal(1);
expect(subworkflow.units[0]._json.type).to.be.equal("execution");

Expand All @@ -50,11 +46,6 @@ describe("subworkflows", () => {
expect(subworkflow.units[1]._json.type).to.be.equal("assignment");
});
it("add unit to list head", () => {
const subworkflow = createSubworkflowByName({
appName: "espresso",
swfName: "total_energy",
});

expect(subworkflow.units.length).to.be.equal(1);
expect(subworkflow.units[0]._json.type).to.be.equal("execution");

Expand All @@ -66,10 +57,6 @@ describe("subworkflows", () => {
expect(subworkflow.units[1]._json.type).to.be.equal("execution");
});
it("add unit in the middle list of two", () => {
const subworkflow = createSubworkflowByName({
appName: "espresso",
swfName: "total_energy",
});
expect(subworkflow.units.length).to.be.equal(1);
expect(subworkflow.units[0]._json.type).to.be.equal("execution");

Expand All @@ -89,11 +76,6 @@ describe("subworkflows", () => {
expect(subworkflow.units[2]._json.type).to.be.equal("assignment");
});
it("can update application", () => {
const subworkflow = createSubworkflowByName({
appName: "espresso",
swfName: "total_energy",
});

const assignementUnit = new AssignmentUnit(assignmentUnitData);
subworkflow.addUnit(assignementUnit, -1);

Expand Down Expand Up @@ -129,12 +111,14 @@ describe("subworkflow UUIDs", () => {
const subworkflow1 = createSubworkflowByName({
appName: "espresso",
swfName: "total_energy",
workflowSubworkflowMapByApplication,
subworkflowCls: Subworkflow,
});

const subworkflow2 = createSubworkflowByName({
appName: "espresso",
swfName: "total_energy",
workflowSubworkflowMapByApplication,
subworkflowCls: Subworkflow,
});

Expand Down
3 changes: 2 additions & 1 deletion tests/js/unit.test.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { Application } from "@mat3ra/ade";
import { workflowSubworkflowMapByApplication } from "@mat3ra/standata";
import { expect } from "chai";

import { createUnit } from "../../src/js/subworkflows/create";
Expand All @@ -9,7 +10,7 @@ import { createWorkflows } from "../../src/js/workflows";

describe("units", () => {
it("can be cloned with new flowchartId", () => {
const workflows = createWorkflows({});
const workflows = createWorkflows({ workflowSubworkflowMapByApplication });
const exampleWorkflow = workflows[0];
const exampleSubworkflow = exampleWorkflow.subworkflows[0];
const exampleUnit = exampleSubworkflow.units[0];
Expand Down
25 changes: 13 additions & 12 deletions tests/js/workflow.test.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { WorkflowStandata, workflowSubforkflowMapByApplication } from "@mat3ra/standata";
import { WorkflowStandata, workflowSubworkflowMapByApplication } from "@mat3ra/standata";
import { expect } from "chai";

import { builders, createWorkflows, Subworkflow, UnitFactory, Workflow } from "../../src/js";
Expand All @@ -11,7 +11,7 @@ const EXPECTED_UNIT_ID = "9fc7a088-5533-5f70-bb33-f676ec65f565";

describe("workflows", () => {
it("can all be created", () => {
const workflows = createWorkflows({});
const workflows = createWorkflows({ workflowSubworkflowMapByApplication });
workflows.map((wf) => {
// eslint-disable-next-line no-unused-expressions
expect(wf).to.exist;
Expand Down Expand Up @@ -56,6 +56,7 @@ describe("workflows", () => {
// Test using a minimal workflow configuration
const workflow = createWorkflows({
appName: "espresso",
workflowSubworkflowMapByApplication,
workflowCls: WorkflowCls,
SubworkflowCls,
UnitFactory,
Expand Down Expand Up @@ -105,14 +106,14 @@ describe("workflows", () => {
Workflow.usePredefinedIds = true;
const workflow1 = createWorkflow({
appName: "espresso",
workflowData: workflowSubforkflowMapByApplication.workflows.espresso.total_energy,
workflowSubworkflowMapByApplication: workflowSubforkflowMapByApplication,
workflowData: workflowSubworkflowMapByApplication.workflows.espresso.total_energy,
workflowSubworkflowMapByApplication,
workflowCls: Workflow,
});
const workflow2 = createWorkflow({
appName: "vasp",
workflowData: workflowSubforkflowMapByApplication.workflows.vasp.total_energy,
workflowSubworkflowMapByApplication: workflowSubforkflowMapByApplication,
workflowData: workflowSubworkflowMapByApplication.workflows.vasp.total_energy,
workflowSubworkflowMapByApplication,
workflowCls: Workflow,
});
expect(workflow1._id).to.not.equal(workflow2._id);
Expand All @@ -124,8 +125,8 @@ describe("workflow property", () => {
// Nudged Elastic Band is multi-material
const mmWorkflow = createWorkflow({
appName: "espresso",
workflowData: workflowSubforkflowMapByApplication.workflows.espresso.neb,
workflowSubworkflowMapByApplication: workflowSubforkflowMapByApplication,
workflowData: workflowSubworkflowMapByApplication.workflows.espresso.neb,
workflowSubworkflowMapByApplication,
});
// eslint-disable-next-line no-unused-expressions
expect(mmWorkflow.isMultiMaterial).to.be.true;
Expand All @@ -134,8 +135,8 @@ describe("workflow property", () => {
it("properties are not empty", () => {
const workflow = createWorkflow({
appName: "espresso",
workflowData: workflowSubforkflowMapByApplication.workflows.espresso.total_energy,
workflowSubworkflowMapByApplication: workflowSubforkflowMapByApplication,
workflowData: workflowSubworkflowMapByApplication.workflows.espresso.total_energy,
workflowSubworkflowMapByApplication,
});

// eslint-disable-next-line no-unused-expressions
Expand Down Expand Up @@ -189,8 +190,8 @@ describe("Workflow UUIDs", () => {
const createTestWorkflow = () =>
createWorkflow({
appName: "espresso",
workflowData: workflowSubforkflowMapByApplication.workflows.espresso.total_energy,
workflowSubworkflowMapByApplication: workflowSubforkflowMapByApplication,
workflowData: workflowSubworkflowMapByApplication.workflows.espresso.total_energy,
workflowSubworkflowMapByApplication,
workflowCls: Workflow,
});

Expand Down
Loading