def test_get_projector_overlays_js(self, mock_get_overlays): overlay = MagicMock() mock_get_overlays.return_value = {'overlay': overlay} # Test with inactive overlay overlay.is_active.return_value = False value = projector_api.get_projector_overlays_js() self.assertEqual(value, []) # Test with active overlay without js overlay.is_active.return_value = True overlay.get_javascript.return_value = None value = projector_api.get_projector_overlays_js() self.assertEqual(value, []) # Test with active overlay with js overlay.get_javascript.return_value = 'some javascript' value = projector_api.get_projector_overlays_js() self.assertEqual(value, ['some javascript'])
def get_overlays_and_overlay_js(self): """ Returns the overlays and their JavaScript for this slide as a two-tuple. The overlay 'agenda_speaker' is always excluded. The required JavaScript fot this view is inserted. """ overlays = get_overlays(only_active=True) overlays.pop('agenda_speaker', None) overlay_js = get_projector_overlays_js(as_json=True) # Note: The JavaScript content of overlay 'agenda_speaker' is not # excluded because this overlay has no such content at the moment. extra_js = SortedDict() extra_js['load_file'] = static('js/agenda_current_list_of_speakers_projector.js') extra_js['call'] = 'reloadListOfSpeakers();' extra_js = dumps(extra_js) overlay_js.append(extra_js) return overlays, overlay_js