def test_offline_screenshots(self): r = SnapEngageNode().render( Context({'snapengage_offline_screenshots': False})) self.assertTrue('SnapABug.showScreenshotOption(false);' in r, r) with override_settings(SNAPENGAGE_OFFLINE_SCREENSHOTS=False): r = SnapEngageNode().render(Context()) self.assertTrue('SnapABug.showScreenshotOption(false);' in r, r)
def test_secure_connection(self): r = SnapEngageNode().render( Context({'snapengage_secure_connection': True})) assert 'SnapABug.setSecureConnexion();' in r with override_settings(SNAPENGAGE_SECURE_CONNECTION=True): r = SnapEngageNode().render(Context()) assert 'SnapABug.setSecureConnexion();' in r
def test_show_offline(self): r = SnapEngageNode().render(Context({'snapengage_show_offline': False})) self.assertTrue('SnapABug.allowOffline(false);' in r, r) with override_settings(SNAPENGAGE_SHOW_OFFLINE=False): r = SnapEngageNode().render(Context()) self.assertTrue('SnapABug.allowOffline(false);' in r, r)
def test_form_top_position(self): r = SnapEngageNode().render( Context({'snapengage_form_top_position': 40})) self.assertTrue('SnapABug.setFormTopPosition(40);' in r, r) with override_settings(SNAPENGAGE_FORM_TOP_POSITION=40): r = SnapEngageNode().render(Context()) self.assertTrue('SnapABug.setFormTopPosition(40);' in r, r)
def test_domain(self): r = SnapEngageNode().render( Context({'snapengage_domain': "example.com"})) assert 'SnapABug.setDomain("example.com");' in r with override_settings(SNAPENGAGE_DOMAIN="example.com"): r = SnapEngageNode().render(Context()) assert 'SnapABug.setDomain("example.com");' in r
def test_button_effect(self): r = SnapEngageNode().render( Context({'snapengage_button_effect': "-4px"})) self.assertTrue('SnapABug.setButtonEffect("-4px");' in r, r) with override_settings(SNAPENGAGE_BUTTON_EFFECT="-4px"): r = SnapEngageNode().render(Context()) self.assertTrue('SnapABug.setButtonEffect("-4px");' in r, r)
def test_form_position(self): r = SnapEngageNode().render( Context({'snapengage_form_position': FORM_POSITION_TOP_LEFT})) self.assertTrue('SnapABug.setChatFormPosition("tl");' in r, r) with override_settings( SNAPENGAGE_FORM_POSITION=FORM_POSITION_TOP_LEFT): r = SnapEngageNode().render(Context()) self.assertTrue('SnapABug.setChatFormPosition("tl");' in r, r)
def test_button_offset(self): r = SnapEngageNode().render( Context({ 'snapengage_button_location_offset': "30%", })) assert 'SnapABug.addButton("ec329c69-0bf0-4db8-9b77-3f8150fb977e","0","30%");' in r with override_settings(SNAPENGAGE_BUTTON_LOCATION_OFFSET="30%"): r = SnapEngageNode().render(Context()) assert 'SnapABug.addButton("ec329c69-0bf0-4db8-9b77-3f8150fb977e","0","30%");' in r
def test_button_location_top(self): r = SnapEngageNode().render( Context({ 'snapengage_button_location': BUTTON_LOCATION_TOP, })) assert 'SnapABug.addButton("ec329c69-0bf0-4db8-9b77-3f8150fb977e","2","55%");' in r with override_settings(SNAPENGAGE_BUTTON_LOCATION=BUTTON_LOCATION_TOP): r = SnapEngageNode().render(Context()) assert 'SnapABug.addButton("ec329c69-0bf0-4db8-9b77-3f8150fb977e","2","55%");' in r
def test_live_button(self): r = SnapEngageNode().render( Context({ 'snapengage_button': BUTTON_STYLE_LIVE, })) assert 'SnapABug.addButton("ec329c69-0bf0-4db8-9b77-3f8150fb977e","0","55%",true);' in r with override_settings(SNAPENGAGE_BUTTON=BUTTON_STYLE_LIVE): r = SnapEngageNode().render(Context()) assert 'SnapABug.addButton("ec329c69-0bf0-4db8-9b77-3f8150fb977e","0","55%",true);' in r
def test_screenshot(self): r = SnapEngageNode().render( Context({ 'snapengage_screenshots': False, })) assert 'SnapABug.allowScreenshot(false);' in r with override_settings(SNAPENGAGE_SCREENSHOTS=False): r = SnapEngageNode().render(Context()) assert 'SnapABug.allowScreenshot(false);' in r
def test_no_button(self): r = SnapEngageNode().render( Context({ 'snapengage_button': BUTTON_STYLE_NONE, })) assert 'SnapABug.init("ec329c69-0bf0-4db8-9b77-3f8150fb977e")' in r with override_settings(SNAPENGAGE_BUTTON=BUTTON_STYLE_NONE): r = SnapEngageNode().render(Context()) assert 'SnapABug.init("ec329c69-0bf0-4db8-9b77-3f8150fb977e")' in r
def test_custom_button(self): r = SnapEngageNode().render( Context({ 'snapengage_button': "http://www.example.com/button.png", })) assert 'SnapABug.addButton("ec329c69-0bf0-4db8-9b77-3f8150fb977e","0","55%");' in r assert 'SnapABug.setButton("http://www.example.com/button.png");' in r with override_settings( SNAPENGAGE_BUTTON="http://www.example.com/button.png"): r = SnapEngageNode().render(Context()) assert 'SnapABug.addButton("ec329c69-0bf0-4db8-9b77-3f8150fb977e","0","55%");' in r assert 'SnapABug.setButton("http://www.example.com/button.png");' in r
def test_button_location_right(self): r = SnapEngageNode().render( Context({'snapengage_button_location': BUTTON_LOCATION_RIGHT})) self.assertTrue( 'SnapABug.addButton("ec329c69-0bf0-4db8-9b77-3f8150fb977e","1",' '"55%");' in r, r) with override_settings( SNAPENGAGE_BUTTON_LOCATION=BUTTON_LOCATION_RIGHT): r = SnapEngageNode().render(Context()) self.assertTrue( 'SnapABug.addButton("ec329c69-0bf0-4db8-9b77-3f8150fb977e","1",' '"55%");' in r, r)
def test_email_readonly(self): r = SnapEngageNode().render( Context({ 'snapengage_email': '*****@*****.**', 'snapengage_readonly_email': True, })) assert 'SnapABug.setUserEmail("*****@*****.**",true);' in r with override_settings(SNAPENGAGE_READONLY_EMAIL=True): r = SnapEngageNode().render( Context({ 'snapengage_email': '*****@*****.**', })) assert 'SnapABug.setUserEmail("*****@*****.**",true);' in r
def test_automatic_language(self): real_get_language = translation.get_language try: translation.get_language = lambda: 'fr-ca' r = SnapEngageNode().render(Context()) assert 'SnapABug.setLocale("fr_CA");' in r finally: translation.get_language = real_get_language
def test_sounds(self): r = SnapEngageNode().render(Context({'snapengage_sounds': False})) assert 'SnapABug.allowChatSound(false);' in r with override_settings(SNAPENGAGE_SOUNDS=False): r = SnapEngageNode().render(Context()) assert 'SnapABug.allowChatSound(false);' in r
def test_wrong_site_id(self): with pytest.raises(AnalyticalException): SnapEngageNode()
def test_node(self): r = SnapEngageNode().render(Context()) assert 'SnapABug.addButton("ec329c69-0bf0-4db8-9b77-3f8150fb977e","0","55%");' in r
def test_language(self): r = SnapEngageNode().render(Context({'snapengage_locale': 'fr'})) assert 'SnapABug.setLocale("fr");' in r with override_settings(SNAPENGAGE_LOCALE='fr'): r = SnapEngageNode().render(Context()) assert 'SnapABug.setLocale("fr");' in r
def test_identify_anonymous_user(self): r = SnapEngageNode().render(Context({ 'user': AnonymousUser(), })) assert 'SnapABug.setUserEmail(' not in r
def test_identify(self): r = SnapEngageNode().render( Context({ 'user': User(username='******', email='*****@*****.**'), })) assert 'SnapABug.setUserEmail("*****@*****.**");' in r
def test_email(self): r = SnapEngageNode().render( Context({ 'snapengage_email': '*****@*****.**', })) assert 'SnapABug.setUserEmail("*****@*****.**");' in r
def test_identify_anonymous_user(self): r = SnapEngageNode().render(Context({'user': AnonymousUser()})) self.assertFalse('SnapABug.setUserEmail(' in r, r)
def test_proactive_chat(self): r = SnapEngageNode().render( Context({'snapengage_proactive_chat': False})) assert 'SnapABug.allowProactiveChat(false);' in r