2344 |
2344 |
mock_send.reset_mock()
|
2345 |
2345 |
result = cell.render(context)
|
2346 |
2346 |
assert '<h2>Card Model 1 - aa</h2>' in result
|
2347 |
|
assert PyQuery(result).find('span.label:contains("Field A") + span').text() == 'a'
|
2348 |
|
assert PyQuery(result).find('span.label:contains("Field B") + span').text() == 'yes'
|
2349 |
|
assert PyQuery(result).find('span.label:contains("Field C") + span').text() == 'Sept. 28, 2020'
|
2350 |
|
assert PyQuery(result).find('span.label:contains("Related") + span').text() == 'Foo Bar'
|
|
2347 |
assert PyQuery(result).find('.label:contains("Field A") + .value').text() == 'a'
|
|
2348 |
assert PyQuery(result).find('.label:contains("Field B") + .value').text() == 'yes'
|
|
2349 |
assert PyQuery(result).find('.label:contains("Field C") + .value').text() == 'Sept. 28, 2020'
|
|
2350 |
assert PyQuery(result).find('.label:contains("Related") + .value').text() == 'Foo Bar'
|
2351 |
2351 |
assert 'related_raw' not in result
|
2352 |
2352 |
assert 'related_structured' not in result
|
2353 |
|
assert PyQuery(result).find('span.label:contains("Field D") + span a').text() == 'file.pdf'
|
|
2353 |
assert PyQuery(result).find('.label:contains("Field D") + .value a').text() == 'file.pdf'
|
2354 |
2354 |
|
2355 |
2355 |
context.pop('title')
|
2356 |
2356 |
cell.title_type = 'manual'
|
... | ... | |
2427 |
2427 |
|
2428 |
2428 |
# field E is split in paragraphs
|
2429 |
2429 |
assert (
|
2430 |
|
PyQuery(result).find('span.label:contains("Field E") + div.value p:first-child').text().strip()
|
|
2430 |
PyQuery(result).find('.label:contains("Field E") + .value p:first-child').text().strip()
|
2431 |
2431 |
== 'lorem<strong>ipsum'
|
2432 |
2432 |
)
|
2433 |
2433 |
assert (
|
2434 |
|
PyQuery(result).find('span.label:contains("Field E") + div.value p:last-child').text().strip()
|
|
2434 |
PyQuery(result).find('.label:contains("Field E") + .value p:last-child').text().strip()
|
2435 |
2435 |
== 'hello world'
|
2436 |
2436 |
)
|
2437 |
2437 |
|
2438 |
2438 |
# field F is put in a <pre>
|
2439 |
2439 |
assert (
|
2440 |
|
PyQuery(result).find('span.label:contains("Field F") + div.value pre').text()
|
|
2440 |
PyQuery(result).find('.label:contains("Field F") + .value pre').text()
|
2441 |
2441 |
== 'lorem<strong>ipsum hello world'
|
2442 |
2442 |
)
|
2443 |
2443 |
|
... | ... | |
2457 |
2457 |
|
2458 |
2458 |
result = cell.render(context)
|
2459 |
2459 |
|
2460 |
|
assert PyQuery(result).find('span.label:contains("Field G") + .value a').text() == 'test@localhost'
|
|
2460 |
assert PyQuery(result).find('.label:contains("Field G") + .value a').text() == 'test@localhost'
|
2461 |
2461 |
|
2462 |
2462 |
assert (
|
2463 |
|
PyQuery(result).find('span.label:contains("Field G") + .value a').attr['href']
|
2464 |
|
== 'mailto:test@localhost'
|
|
2463 |
PyQuery(result).find('.label:contains("Field G") + .value a').attr['href'] == 'mailto:test@localhost'
|
2465 |
2464 |
)
|
2466 |
2465 |
|
2467 |
2466 |
|
... | ... | |
2481 |
2480 |
|
2482 |
2481 |
result = cell.render(context)
|
2483 |
2482 |
|
2484 |
|
assert (
|
2485 |
|
PyQuery(result).find('span.label:contains("Field H") + .value a').text() == 'https://www.example.net/'
|
2486 |
|
)
|
|
2483 |
assert PyQuery(result).find('.label:contains("Field H") + .value a').text() == 'https://www.example.net/'
|
2487 |
2484 |
|
2488 |
2485 |
assert (
|
2489 |
|
PyQuery(result).find('span.label:contains("Field H") + .value a').attr['href']
|
|
2486 |
PyQuery(result).find('.label:contains("Field H") + .value a').attr['href']
|
2490 |
2487 |
== 'https://www.example.net/'
|
2491 |
2488 |
)
|
2492 |
2489 |
|
... | ... | |
2537 |
2534 |
cell.custom_schema['cells'][0] = {'varname': 'fielda', 'field_content': 'label', 'display_mode': 'text'}
|
2538 |
2535 |
cell.save()
|
2539 |
2536 |
result = cell.render(context)
|
2540 |
|
assert PyQuery(result).find('p.label').text() == 'Field A'
|
|
2537 |
assert PyQuery(result).find('.label').text() == 'Field A'
|
2541 |
2538 |
|
2542 |
2539 |
cell.custom_schema['cells'][0] = {'varname': 'fielda', 'field_content': 'value', 'display_mode': 'text'}
|
2543 |
2540 |
cell.save()
|
2544 |
2541 |
result = cell.render(context)
|
2545 |
|
assert PyQuery(result).find('span.value').text() == 'a'
|
|
2542 |
assert PyQuery(result).find('.value').text() == 'a'
|
2546 |
2543 |
|
2547 |
2544 |
cell.custom_schema['cells'][0] = {
|
2548 |
2545 |
'varname': 'fielda',
|
... | ... | |
2551 |
2548 |
}
|
2552 |
2549 |
cell.save()
|
2553 |
2550 |
result = cell.render(context)
|
2554 |
|
assert PyQuery(result).find('p.label').text() == 'Field A'
|
2555 |
|
assert PyQuery(result).find('span.value').text() == 'a'
|
|
2551 |
assert PyQuery(result).find('.label').text() == 'Field A'
|
|
2552 |
assert PyQuery(result).find('.value').text() == 'a'
|
2556 |
2553 |
|
2557 |
2554 |
cell.custom_schema['cells'][0] = {
|
2558 |
2555 |
'varname': 'fieldb',
|
... | ... | |
2561 |
2558 |
}
|
2562 |
2559 |
cell.save()
|
2563 |
2560 |
result = cell.render(context)
|
2564 |
|
assert PyQuery(result).find('p.label').text() == 'Field B'
|
2565 |
|
assert PyQuery(result).find('span.value').text() == 'yes'
|
|
2561 |
assert PyQuery(result).find('.label').text() == 'Field B'
|
|
2562 |
assert PyQuery(result).find('.value').text() == 'yes'
|
2566 |
2563 |
|
2567 |
2564 |
cell.custom_schema['cells'][0] = {
|
2568 |
2565 |
'varname': 'fieldc',
|
... | ... | |
2571 |
2568 |
}
|
2572 |
2569 |
cell.save()
|
2573 |
2570 |
result = cell.render(context)
|
2574 |
|
assert PyQuery(result).find('p.label').text() == 'Field C'
|
2575 |
|
assert PyQuery(result).find('span.value').text() == 'Sept. 28, 2020'
|
|
2571 |
assert PyQuery(result).find('.label').text() == 'Field C'
|
|
2572 |
assert PyQuery(result).find('.value').text() == 'Sept. 28, 2020'
|
2576 |
2573 |
|
2577 |
2574 |
cell.custom_schema['cells'][0] = {
|
2578 |
2575 |
'varname': 'related',
|
... | ... | |
2581 |
2578 |
}
|
2582 |
2579 |
cell.save()
|
2583 |
2580 |
result = cell.render(context)
|
2584 |
|
assert PyQuery(result).find('p.label').text() == 'Related'
|
2585 |
|
assert PyQuery(result).find('span.value').text() == 'Foo Bar'
|
|
2581 |
assert PyQuery(result).find('.label').text() == 'Related'
|
|
2582 |
assert PyQuery(result).find('.value').text() == 'Foo Bar'
|
2586 |
2583 |
|
2587 |
2584 |
cell.custom_schema['cells'][0] = {
|
2588 |
2585 |
'varname': 'fieldd',
|
... | ... | |
2591 |
2588 |
}
|
2592 |
2589 |
cell.save()
|
2593 |
2590 |
result = cell.render(context)
|
2594 |
|
assert PyQuery(result).find('p.label').text() == 'Field D'
|
2595 |
|
assert PyQuery(result).find('span.value').text() == 'file.pdf'
|
|
2591 |
assert PyQuery(result).find('.label').text() == 'Field D'
|
|
2592 |
assert PyQuery(result).find('.value').text() == 'file.pdf'
|
2596 |
2593 |
|
2597 |
2594 |
cell.custom_schema['cells'][0] = {
|
2598 |
2595 |
'varname': 'fielde',
|
... | ... | |
2601 |
2598 |
}
|
2602 |
2599 |
cell.save()
|
2603 |
2600 |
result = cell.render(context)
|
2604 |
|
assert PyQuery(result).find('p.label').text() == 'Field E'
|
2605 |
|
assert PyQuery(result).find('div.value p:first-child').text().strip() == 'lorem<strong>ipsum'
|
2606 |
|
assert PyQuery(result).find('div.value p:last-child').text().strip() == 'hello world'
|
|
2601 |
assert PyQuery(result).find('.label').text() == 'Field E'
|
|
2602 |
assert PyQuery(result).find('.value p:first-child').text().strip() == 'lorem<strong>ipsum'
|
|
2603 |
assert PyQuery(result).find('.value p:last-child').text().strip() == 'hello world'
|
2607 |
2604 |
|
2608 |
2605 |
cell.custom_schema['cells'][0] = {
|
2609 |
2606 |
'varname': 'fieldf',
|
... | ... | |
2612 |
2609 |
}
|
2613 |
2610 |
cell.save()
|
2614 |
2611 |
result = cell.render(context)
|
2615 |
|
assert PyQuery(result).find('p.label').text() == 'Field F'
|
2616 |
|
assert PyQuery(result).find('div.value pre').text() == 'lorem<strong>ipsum hello world'
|
|
2612 |
assert PyQuery(result).find('.label').text() == 'Field F'
|
|
2613 |
assert PyQuery(result).find('.value pre').text() == 'lorem<strong>ipsum hello world'
|
2617 |
2614 |
|
2618 |
2615 |
cell.custom_schema['cells'][0] = {
|
2619 |
2616 |
'varname': 'fieldg',
|
... | ... | |
2622 |
2619 |
}
|
2623 |
2620 |
cell.save()
|
2624 |
2621 |
result = cell.render(context)
|
2625 |
|
assert PyQuery(result).find('p.label').text() == 'Field G'
|
2626 |
|
assert PyQuery(result).find('span.value a').text() == 'test@localhost'
|
2627 |
|
assert PyQuery(result).find('span.value a').attr['href'] == 'mailto:test@localhost'
|
|
2622 |
assert PyQuery(result).find('.label').text() == 'Field G'
|
|
2623 |
assert PyQuery(result).find('.value a').text() == 'test@localhost'
|
|
2624 |
assert PyQuery(result).find('.value a').attr['href'] == 'mailto:test@localhost'
|
2628 |
2625 |
|
2629 |
2626 |
cell.custom_schema['cells'][0] = {
|
2630 |
2627 |
'varname': 'fieldh',
|
... | ... | |
2633 |
2630 |
}
|
2634 |
2631 |
cell.save()
|
2635 |
2632 |
result = cell.render(context)
|
2636 |
|
assert PyQuery(result).find('p.label').text() == 'Field H'
|
2637 |
|
assert PyQuery(result).find('span.value a').text() == 'https://www.example.net/'
|
2638 |
|
assert PyQuery(result).find('span.value a').attr['href'] == 'https://www.example.net/'
|
|
2633 |
assert PyQuery(result).find('.label').text() == 'Field H'
|
|
2634 |
assert PyQuery(result).find('.value a').text() == 'https://www.example.net/'
|
|
2635 |
assert PyQuery(result).find('.value a').attr['href'] == 'https://www.example.net/'
|
2639 |
2636 |
|
2640 |
2637 |
|
2641 |
2638 |
@mock.patch('combo.apps.wcs.utils.requests.send', side_effect=mocked_requests_send)
|
... | ... | |
2665 |
2662 |
context['synchronous'] = True # to get fresh content
|
2666 |
2663 |
|
2667 |
2664 |
result = cell.render(context)
|
2668 |
|
assert PyQuery(result).find('p.label') == []
|
2669 |
|
assert PyQuery(result).find('span.value') == []
|
|
2665 |
assert PyQuery(result).find('.label') == []
|
|
2666 |
assert PyQuery(result).find('.value') == []
|
2670 |
2667 |
|
2671 |
2668 |
cell.custom_schema['cells'][0] = {
|
2672 |
2669 |
'varname': 'empty',
|
... | ... | |
2676 |
2673 |
}
|
2677 |
2674 |
cell.save()
|
2678 |
2675 |
result = cell.render(context)
|
2679 |
|
assert PyQuery(result).find('p.label').text() == 'Empty'
|
2680 |
|
assert PyQuery(result).find('span.value').text() == ''
|
|
2676 |
assert PyQuery(result).find('.label').text() == 'Empty'
|
|
2677 |
assert PyQuery(result).find('.value').text() == ''
|
2681 |
2678 |
|
2682 |
2679 |
cell.custom_schema['cells'][0] = {
|
2683 |
2680 |
'varname': 'empty',
|
... | ... | |
2687 |
2684 |
}
|
2688 |
2685 |
cell.save()
|
2689 |
2686 |
result = cell.render(context)
|
2690 |
|
assert PyQuery(result).find('p.label').text() == 'Empty'
|
2691 |
|
assert PyQuery(result).find('span.value').text() == 'Custom text'
|
|
2687 |
assert PyQuery(result).find('.label').text() == 'Empty'
|
|
2688 |
assert PyQuery(result).find('.value').text() == 'Custom text'
|
2692 |
2689 |
|
2693 |
2690 |
for field_content in ['label', 'value']:
|
2694 |
2691 |
for display_mode in ['text', 'title', 'subtitle']:
|
... | ... | |
2697 |
2694 |
elif display_mode == 'subtitle':
|
2698 |
2695 |
html_tag = 'h4'
|
2699 |
2696 |
elif display_mode == 'text' and field_content == 'label':
|
2700 |
|
html_tag = 'p.label'
|
|
2697 |
html_tag = '.label'
|
2701 |
2698 |
elif display_mode == 'text' and field_content == 'value':
|
2702 |
|
html_tag = 'span.value'
|
|
2699 |
html_tag = '.value'
|
2703 |
2700 |
cell.custom_schema['cells'][0] = {
|
2704 |
2701 |
'varname': 'empty',
|
2705 |
2702 |
'field_content': field_content,
|
... | ... | |
2780 |
2777 |
}
|
2781 |
2778 |
cell.save()
|
2782 |
2779 |
result = cell.render(context)
|
2783 |
|
assert PyQuery(result).find('p.label').text() == 'Foo bar baz'
|
2784 |
|
assert PyQuery(result).find('div.value').text() == 'Foo,Bar'
|
|
2780 |
assert PyQuery(result).find('.label').text() == 'Foo bar baz'
|
|
2781 |
assert PyQuery(result).find('.value').text() == 'Foo,Bar'
|
2785 |
2782 |
|
2786 |
2783 |
# test available context
|
2787 |
2784 |
cell.card_ids = '11'
|
... | ... | |
2799 |
2796 |
kwargs={'page_pk': page.pk, 'cell_reference': cell.get_reference()},
|
2800 |
2797 |
)
|
2801 |
2798 |
cell_resp = app.get(cell_url + '?ctx=' + extra_ctx[0])
|
2802 |
|
assert '<p class="label">Foo bar baz Xhttp://testserverY</p>' in cell_resp
|
|
2799 |
assert PyQuery(cell_resp.text).find('.label').text() == 'Foo bar baz Xhttp://testserverY'
|
2803 |
2800 |
|
2804 |
2801 |
cell.card_ids = '{{ cards|objects:"card_model_1"|getlist:"id"|join:"," }}'
|
2805 |
2802 |
cell.custom_schema = {
|
... | ... | |
2817 |
2814 |
)
|
2818 |
2815 |
for i in range(0, 3):
|
2819 |
2816 |
cell_resp = app.get(cell_url + '?ctx=' + extra_ctx[i])
|
2820 |
|
assert '<p class="label">Foo bar baz X%sY</p>' % i in cell_resp
|
|
2817 |
assert PyQuery(cell_resp.text).find('.label').text() == 'Foo bar baz X%sY' % i
|
2821 |
2818 |
|
2822 |
2819 |
# custom schema but empty
|
2823 |
2820 |
cell.custom_schema = {'cells': []}
|
... | ... | |
2853 |
2850 |
context['synchronous'] = True # to get fresh content
|
2854 |
2851 |
|
2855 |
2852 |
result = cell.render(context)
|
2856 |
|
assert PyQuery(result).find('div.value a').text() == 'a - Foo Bar'
|
2857 |
|
assert PyQuery(result).find('div.value a').attr['href'] == '/foo/bar/42/'
|
2858 |
|
assert PyQuery(result).find('div.value a').attr['class'] is None
|
|
2853 |
assert PyQuery(result).find('.value a').text() == 'a - Foo Bar'
|
|
2854 |
assert PyQuery(result).find('.value a').attr['href'] == '/foo/bar/42/'
|
|
2855 |
assert PyQuery(result).find('.value a').attr['class'] is None
|
2859 |
2856 |
|
2860 |
2857 |
cell.custom_schema['cells'][0]['display_mode'] = 'button'
|
2861 |
2858 |
cell.save()
|
2862 |
2859 |
result = cell.render(context)
|
2863 |
|
assert PyQuery(result).find('div.value a').text() == 'a - Foo Bar'
|
2864 |
|
assert PyQuery(result).find('div.value a').attr['href'] == '/foo/bar/42/'
|
2865 |
|
assert PyQuery(result).find('div.value a').attr['class'] == 'pk-button'
|
|
2860 |
assert PyQuery(result).find('.value a').text() == 'a - Foo Bar'
|
|
2861 |
assert PyQuery(result).find('.value a').attr['href'] == '/foo/bar/42/'
|
|
2862 |
assert PyQuery(result).find('.value a').attr['class'] == 'pk-button'
|
2866 |
2863 |
|
2867 |
2864 |
cell.custom_schema['cells'][0][
|
2868 |
2865 |
'url_template'
|
2869 |
|
-
|