View | Details | Raw Unified | Return to bug 39315
Collapse All | Expand All

(-)a/t/cypress/integration/t/mockData.ts (+22 lines)
Lines 53-55 describe("Generate Random Libraries", () => { Link Here
53
        );
53
        );
54
    });
54
    });
55
});
55
});
56
57
describe("Generate objects", () => {
58
    it("should generate an object for library", () => {
59
        cy.task("buildSampleObject", { object: "item" }).then(mockItem => {
60
            expect(mockItem.home_library).to.have.property("library_id");
61
            expect(mockItem.home_library).to.have.property("name");
62
            expect(mockItem.home_library_id).to.equal(
63
                mockItem.home_library.library_id
64
            );
65
            expect(mockItem.holding_library).to.have.property("library_id");
66
            expect(mockItem.holding_library).to.have.property("name");
67
            expect(mockItem.holding_library_id).to.equal(
68
                mockItem.holding_library.library_id
69
            );
70
            expect(mockItem.item_type).to.have.property("item_type_id");
71
            expect(mockItem.item_type).to.have.property("description");
72
            expect(mockItem.item_type_id).to.equal(
73
                mockItem.item_type.item_type_id
74
            );
75
        });
76
    });
77
});
(-)a/t/cypress/plugins/mockData.js (-7 / +38 lines)
Lines 3-11 const { readYamlFile } = require("./../plugins/readYamlFile.js"); Link Here
3
const fs = require("fs");
3
const fs = require("fs");
4
4
5
const generateMockData = (type, properties) => {
5
const generateMockData = (type, properties) => {
6
    if (Array.isArray(type)) {
7
        type = type.filter(t => t != '"null"')[0];
8
    }
9
    switch (type) {
6
    switch (type) {
10
        case "string":
7
        case "string":
11
            if (properties?.maxLength) {
8
            if (properties?.maxLength) {
Lines 36-52 const generateMockData = (type, properties) => { Link Here
36
33
37
const generateDataFromSchema = (properties, values = {}) => {
34
const generateDataFromSchema = (properties, values = {}) => {
38
    const mockData = {};
35
    const mockData = {};
36
    const ids = {};
39
    Object.entries(properties).forEach(([key, value]) => {
37
    Object.entries(properties).forEach(([key, value]) => {
40
        if (values.hasOwnProperty(key)) {
38
        if (values.hasOwnProperty(key)) {
41
            mockData[key] = values[key];
39
            mockData[key] = values[key];
42
        } else {
40
        } else {
43
            let type =
41
            let data;
42
            let type = value.type;
43
            if (Array.isArray(type)) {
44
                type = type.filter(t => t != '"null"')[0];
45
            }
46
47
            type =
44
                value?.format == "date" || value?.format == "date-time"
48
                value?.format == "date" || value?.format == "date-time"
45
                    ? value.format
49
                    ? value.format
46
                    : value.type;
50
                    : type;
47
            mockData[key] = generateMockData(type, value);
51
            let fk_name;
52
            if (type == "object") {
53
                switch (key) {
54
                    case "home_library":
55
                    case "holding_library":
56
                        data = buildSampleObject({ object: "library" });
57
                        fk_name = "library_id";
58
                        break;
59
                    case "item_type":
60
                        data = buildSampleObject({ object: "item_type" });
61
                        fk_name = "item_type_id";
62
                        break;
63
                    default:
64
                        data = generateMockData(type, value);
65
                }
66
                if (typeof data === "object") {
67
                    ids[key] = data[fk_name];
68
                }
69
            } else {
70
                data = generateMockData(type, value);
71
            }
72
            mockData[key] = data;
48
        }
73
        }
49
    });
74
    });
75
76
    Object.keys(ids).forEach(k => {
77
        if (mockData.hasOwnProperty(k + "_id")) {
78
            mockData[k + "_id"] = ids[k];
79
        }
80
    });
81
50
    return mockData;
82
    return mockData;
51
};
83
};
52
84
53
- 

Return to bug 39315