Skip to content

Commit 333111b

Browse files
James feeling thermometer updates (#194)
* update feeling thermometer text * fix slider over anchoring * update test * Update scoring and labels * Update package.json * merge main * Delete screenshot.png * update screenshots
1 parent 6a284ea commit 333111b

20 files changed

+160
-95
lines changed
-361 KB
Binary file not shown.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@watts-lab/surveys",
3-
"version": "1.17.4",
3+
"version": "1.17.5",
44
"description": "",
55
"main": "dist/index.js",
66
"module": "dist/index.js",

surveys/TIPI/screenshot.png

-134 KB
Loading
-99 Bytes
Loading

surveys/rmeTen/README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Reading the Mind in the Eye
2+
3+
This is a ten-item version of the Reading the Mind in the Eyes test.
4+
5+
Items are taken from:
6+
7+
Chander, Russell J., Sarah A. Grainger, John D. Crawford, Karen A. Mather, Katya Numbers, Rhiagh Cleary, Nicole A. Kochan, Henry Brodaty, Julie D. Henry, and Perminder S. Sachdev. 2020. “Development of a Short-Form Version of the Reading the Mind in the Eyes Test for Assessing Theory of Mind in Older Adults.” International Journal of Geriatric Psychiatry 35 (11): 1322–30.
8+
9+
10 item version, in model 3:
10+
11+
![alt text](chandler_fig3.png)

surveys/rmeTen/chandler_fig3.png

343 KB
Loading

surveys/rmeTen/rmeTen.cy.jsx

Lines changed: 93 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
import React from "react";
22
import { RmeTen } from "../../src/index";
33

4-
const surveyJsonPath = "surveys/rmeTen/rmeTen.json";
5-
6-
// Initialize an empty answers object
7-
const answers = {};
8-
94
const dummy = {
105
set(response) {},
116
};
@@ -16,57 +11,106 @@ describe("RMETTen", () => {
1611
cy.mount(<RmeTen onComplete={dummy.set} />);
1712
cy.viewport("macbook-11");
1813

19-
cy.readFile(surveyJsonPath).then((surveyJson) => {
20-
// Build the answers object by assuming each question's answer is the first choice
21-
surveyJson.pages.forEach((page) => {
22-
page.elements.forEach((element) => {
23-
if (element.type === "radiogroup") {
24-
answers[element.name] = element.choices[0].value;
25-
}
26-
});
27-
});
14+
// incorrect
15+
cy.get('[data-name="rme_item_4"] input[value="amused"]').click({
16+
force: true,
17+
});
18+
cy.screenshot(`rmeTen/screenshot_1`, {
19+
overwrite: true,
20+
});
21+
cy.get('input[type="button"][value="Next"]').click({ force: true });
22+
23+
// correct
24+
cy.get('[data-name="rme_item_6"] input[value="fantasizing"]').click({
25+
force: true,
26+
});
27+
cy.screenshot(`rmeTen/screenshot_2`, {
28+
overwrite: true,
29+
});
30+
cy.get('input[type="button"][value="Next"]').click({ force: true });
2831

29-
// Now iterate over pages to perform the survey
30-
surveyJson.pages.forEach((page, pageIndex) => {
31-
page.elements.forEach((element) => {
32-
if (element.type === "image") {
33-
// Verify the image is present
34-
cy.get("img").should("have.attr", "src", element.imageLink);
35-
} else if (element.type === "radiogroup") {
36-
// Click the radio button corresponding to the question
37-
const answerValue = answers[element.name];
38-
cy.get(
39-
`[data-name="${element.name}"] input[value="${answerValue}"]`
40-
).click({ force: true });
41-
}
42-
});
32+
// incorrect
33+
cy.get('[data-name="rme_item_11"] input[value="terrified"]').click({
34+
force: true,
35+
});
36+
cy.screenshot(`rmeTen/screenshot_3`, {
37+
overwrite: true,
38+
});
39+
cy.get('input[type="button"][value="Next"]').click({ force: true });
4340

44-
cy.screenshot(`rmeTen/screenshot_${pageIndex}`, {
45-
overwrite: true,
46-
});
41+
// correct
42+
cy.get('[data-name="rme_item_15"] input[value="contemplative"]').click({
43+
force: true,
44+
});
45+
cy.screenshot(`rmeTen/screenshot_4`, {
46+
overwrite: true,
47+
});
48+
cy.get('input[type="button"][value="Next"]').click({ force: true });
4749

48-
// Click "Next" button if not on the last page
49-
if (pageIndex < surveyJson.pages.length - 1) {
50-
cy.get('input[type="button"][value="Next"]').click({ force: true });
51-
}
52-
});
50+
// incorrect
51+
cy.get('[data-name="rme_item_17"] input[value="affectionate"]').click({
52+
force: true,
53+
});
54+
cy.screenshot(`rmeTen/screenshot_5`, {
55+
overwrite: true,
56+
});
57+
cy.get('input[type="button"][value="Next"]').click({ force: true });
5358

54-
cy.screenshot("rmetTen/screenshot", {
55-
overwrite: true,
56-
});
59+
// correct
60+
cy.get('[data-name="rme_item_22"] input[value="preoccupied"]').click({
61+
force: true,
62+
});
63+
cy.screenshot(`rmeTen/screenshot_6`, {
64+
overwrite: true,
65+
});
66+
cy.get('input[type="button"][value="Next"]').click({ force: true });
67+
68+
// correct
69+
cy.get('[data-name="rme_item_24"] input[value="pensive"]').click({
70+
force: true,
71+
});
72+
cy.screenshot(`rmeTen/screenshot_7`, {
73+
overwrite: true,
74+
});
75+
cy.get('input[type="button"][value="Next"]').click({ force: true });
76+
77+
// incorrect
78+
cy.get('[data-name="rme_item_27"] input[value="joking"]').click({
79+
force: true,
80+
});
81+
cy.screenshot(`rmeTen/screenshot_8`, {
82+
overwrite: true,
83+
});
84+
cy.get('input[type="button"][value="Next"]').click({ force: true });
85+
86+
// correct
87+
cy.get('[data-name="rme_item_28"] input[value="interested"]').click({
88+
force: true,
89+
});
90+
cy.screenshot(`rmeTen/screenshot_9`, {
91+
overwrite: true,
92+
});
93+
cy.get('input[type="button"][value="Next"]').click({ force: true });
94+
95+
// correct
96+
cy.get('[data-name="rme_item_29"] input[value="reflective"]').click({
97+
force: true,
98+
});
99+
cy.screenshot(`rmeTen/screenshot_10`, {
100+
overwrite: true,
101+
});
57102

58-
cy.get("form") // submit surveyJS form
59-
.then(($form) => {
60-
cy.wrap($form.find('input[type="button"][value="Complete"]')).click();
61-
});
103+
// final button
104+
cy.get('input[type="button"][value="Complete"]').click({ force: true });
62105

63-
cy.get(".sv-body").should("not.exist");
106+
cy.get(".sv-body").should("not.exist");
64107

65-
cy.get("@callback").should("have.been.called");
66-
cy.get("@callback").then((spy) => {
67-
const spyCall = spy.getCall(-1).args[0];
68-
console.log(spyCall);
69-
});
108+
cy.get("@callback").should("have.been.called");
109+
cy.get("@callback").then((spy) => {
110+
const spyCall = spy.getCall(-1).args[0];
111+
console.log(spyCall);
112+
expect(spyCall["result"]["normScore"]).to.eq((0.6).toFixed(3));
113+
expect(spyCall["responses"]["rme_item_24"]).to.eq("pensive");
70114
});
71115
});
72116
});

surveys/rmeTen/rmeTen.json

Lines changed: 44 additions & 34 deletions
Large diffs are not rendered by default.

surveys/rmeTen/rmeTen.score.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
const answers = {
2-
question1: "insisting",
3-
question2: "fantasizing",
4-
question3: "regretful",
5-
question4: "contemplative",
6-
question5: "doubtful",
7-
question6: "preoccupied",
8-
question7: "pensive",
9-
question8: "cautious",
10-
question9: "interested",
11-
question10: "reflective",
2+
rme_item_4: "insisting",
3+
rme_item_6: "fantasizing",
4+
rme_item_11: "regretful",
5+
rme_item_15: "contemplative",
6+
rme_item_17: "doubtful",
7+
rme_item_22: "preoccupied",
8+
rme_item_24: "pensive",
9+
rme_item_27: "cautious",
10+
rme_item_28: "interested",
11+
rme_item_29: "reflective",
1212
};
1313

1414
export default function scoreFunc(responses) {
@@ -23,5 +23,5 @@ export default function scoreFunc(responses) {
2323
}
2424
});
2525

26-
return { score: score, maxScore: 10, minScore: 0, responses: responses };
26+
return { score: score, normScore: (score / 10).toFixed(3) };
2727
}

surveys/rmeTen/screenshot_0.png

-622 KB
Binary file not shown.

0 commit comments

Comments
 (0)