def _test_drop_on_grid(browser): project_dict, workspace_page = startup(browser) #other tests also need to put an assembly on the grid, so put in seperate method put_assembly_on_grid(workspace_page) closeout(project_dict, workspace_page)
def _test_drop_on_existing_assembly(browser): project_dict, workspace_page = startup(browser) assembly = workspace_page.find_library_button('Assembly') outer_name = put_assembly_on_grid(workspace_page) outer_figure = workspace_page.get_dataflow_figure(outer_name) outer_path = outer_figure.pathname eq(outer_path, outer_name, "Assembly did not produce an instance on the grid") div = getDropableElements(outer_figure)[0] chain = drag_element_to(browser, assembly, div, False) check_highlighting( outer_figure('content_area').element, True, "Assembly's content_area") release(chain) middle_name = NameInstanceDialog(workspace_page).create_and_dismiss() middle_figure = workspace_page.get_dataflow_figure(middle_name) middle_path = middle_figure.pathname eq(middle_path, outer_path + '.' + middle_name, "Assembly did not produce an instance inside outer Assembly") div = getDropableElements(middle_figure)[0] chain = drag_element_to(browser, assembly, div, True) check_highlighting( middle_figure('content_area').element, True, "Assembly's content_area") release(chain) inner_name = NameInstanceDialog(workspace_page).create_and_dismiss() #expand the middle div so that the inner one shows up in the workspace. middle_figure('top_right').element.click() inner_figure = workspace_page.get_dataflow_figure(inner_name) inner_path = inner_figure.pathname eq(inner_path, middle_path + '.' + inner_name, "Assembly did not produce an instance inside of the middle Assembly") ensure_names_in_workspace( workspace_page, [outer_name, middle_name, inner_name], "Dragging Assembly onto Assembly did not create a new instance on page" ) closeout(project_dict, workspace_page)
def _test_drop_on_existing_assembly(browser): project_dict, workspace_page = startup(browser) assembly = workspace_page.find_library_button('Assembly') outer_name = put_assembly_on_grid(workspace_page) outer_figure = workspace_page.get_dataflow_figure(outer_name) outer_path = outer_figure.pathname eq(outer_path, outer_name, "Assembly did not produce an instance on the grid") div = getDropableElements(outer_figure)[0] chain = drag_element_to(browser, assembly, div, False) check_highlighting(outer_figure('content_area').element, True, "Assembly's content_area") release(chain) middle_name = NameInstanceDialog(workspace_page).create_and_dismiss() middle_figure = workspace_page.get_dataflow_figure(middle_name) middle_path = middle_figure.pathname eq(middle_path, outer_path + '.' + middle_name, "Assembly did not produce an instance inside outer Assembly") div = getDropableElements(middle_figure)[0] chain = drag_element_to(browser, assembly, div, True) check_highlighting(middle_figure('content_area').element, True, "Assembly's content_area") release(chain) inner_name = NameInstanceDialog(workspace_page).create_and_dismiss() #expand the middle div so that the inner one shows up in the workspace. middle_figure('top_right').element.click() inner_figure = workspace_page.get_dataflow_figure(inner_name) inner_path = inner_figure.pathname eq(inner_path, middle_path + '.' + inner_name, "Assembly did not produce an instance inside of the middle Assembly") ensure_names_in_workspace(workspace_page, [outer_name, middle_name, inner_name], "Dragging Assembly onto Assembly did not create a new instance on page") closeout(project_dict, workspace_page)