()
| 133 | } |
| 134 | |
| 135 | async getRecentAssistantMessage() { |
| 136 | const messageElements = await this.page |
| 137 | .getByTestId('message-assistant') |
| 138 | .all(); |
| 139 | const lastMessageElement = messageElements[messageElements.length - 1]; |
| 140 | |
| 141 | const content = await lastMessageElement |
| 142 | .getByTestId('message-content') |
| 143 | .innerText() |
| 144 | .catch(() => null); |
| 145 | |
| 146 | const reasoningElement = await lastMessageElement |
| 147 | .getByTestId('message-reasoning') |
| 148 | .isVisible() |
| 149 | .then(async (visible) => |
| 150 | visible |
| 151 | ? await lastMessageElement |
| 152 | .getByTestId('message-reasoning') |
| 153 | .innerText() |
| 154 | : null, |
| 155 | ) |
| 156 | .catch(() => null); |
| 157 | |
| 158 | return { |
| 159 | element: lastMessageElement, |
| 160 | content, |
| 161 | reasoning: reasoningElement, |
| 162 | async toggleReasoningVisibility() { |
| 163 | await lastMessageElement |
| 164 | .getByTestId('message-reasoning-toggle') |
| 165 | .click(); |
| 166 | }, |
| 167 | async upvote() { |
| 168 | await lastMessageElement.getByTestId('message-upvote').click(); |
| 169 | }, |
| 170 | async downvote() { |
| 171 | await lastMessageElement.getByTestId('message-downvote').click(); |
| 172 | }, |
| 173 | }; |
| 174 | } |
| 175 | |
| 176 | async getRecentUserMessage() { |
| 177 | const messageElements = await this.page.getByTestId('message-user').all(); |
no outgoing calls
no test coverage detected