def test_targeting_query(self, version_query): """Call get_version_query if devices and versions are passed""" get_mobile_targeting_query() self.assertFalse(version_query.called) get_mobile_targeting_query(devices=MagicMock(), versions=MagicMock()) self.assertTrue(version_query.called)
def test_android_detailed_targeting(self): """Assert output when targeting Android device and version""" os_str = 'Android' lookup_str = 'formFactor' devices = ['tablet'] versions = ['4.4', '4.4'] expected = ('($device.os = "Android" AND ' + '($device.formFactor CONTAINS "tablet") AND ' + '(($device.osVersion.major = 4 AND ' + '$device.osVersion.minor = 4)))') output = get_mobile_targeting_query(os_str, lookup_str, devices, versions) self.assertEqual(output, expected)
def test_ios_detailed_targeting(self): """Assert output when targeting iOS device and version""" os_str = 'iOS' lookup_str = 'modelName' devices = ['iPhone', 'iPad'] versions = ['1.1', ''] expected = ('($device.os = "iOS" AND ' + '($device.modelName CONTAINS "iPhone" OR ' + '$device.modelName CONTAINS "iPad") AND ' + '(($device.osVersion.major >= 2) OR ' + '($device.osVersion.major = 1 AND ' + '$device.osVersion.minor >= 1)))') output = get_mobile_targeting_query(os_str, lookup_str, devices, versions) self.assertEqual(output, expected)
def test_android_generic_targeting(self): """Assert output when targeting all Android""" os_str = 'Android' expected = '($device.os = "Android")' output = get_mobile_targeting_query(os_str) self.assertEqual(output, expected)
def test_ios_generic_targeting(self): """Assert output when targeting all iOS""" os_str = 'iOS' expected = '($device.os = "iOS")' output = get_mobile_targeting_query(os_str) self.assertEqual(output, expected)