def test_click_card_layout_by_index_other_link(self, mock_click_component: MagicMock) -> None: uri = self.report_link_uri test_form = SailUiForm(self.task_set.appian.interactor, json.loads(self.spl_response), uri) def get_call(name: str) -> Optional[Any]: return { 'uuid': test_form.uuid, 'context': test_form.context }.get(name) mock_state = MagicMock() mock_state.get.side_effect = get_call mock_click_component.return_value = mock_state component = find_component_by_index_in_dict("DynamicLink", 3, test_form.state) test_form.click_card_layout_by_index(3, locust_request_label=self.locust_label) mock_click_component.assert_called_once() args, kwargs = mock_click_component.call_args_list[0] self.assertEqual(args[0], self.report_link_uri) self.assertEqual(args[1], component) self.assertEqual(args[2], test_form.context) self.assertEqual(args[3], test_form.uuid) self.assertEqual(kwargs["label"], self.locust_label)
def test_click_card_layout_by_index_no_link(self) -> None: uri = self.report_link_uri test_form = SailUiForm(self.task_set.appian.interactor, json.loads(self.spl_response), uri) with self.assertRaisesRegex(Exception, "CardLayout found at index: 2 does not have a link on it"): test_form.click_card_layout_by_index(2)
def test_click_card_layout_by_index_spl(self, mock_click_spl: MagicMock) -> None: uri = self.report_link_uri test_form = SailUiForm(self.task_set.appian.interactor, json.loads(self.spl_response), uri) component = find_component_by_label_and_type_dict('label', 'Request Pass', 'StartProcessLink', test_form.state) test_form.click_card_layout_by_index(1, locust_request_label=self.locust_label) mock_click_spl.assert_called_once() args, kwargs = mock_click_spl.call_args_list[0] self.assertTupleEqual(args, ('z1ck30E1', 'home', False, component)) self.assertEqual(kwargs["locust_request_label"], self.locust_label)