def test_track_link_click(self, mok_track_unstruct): mokEmitter = self.create_patch('snowplow_tracker.Emitter') e = mokEmitter() with ContractsDisabled(): mok_track_unstruct.side_effect = mocked_track_unstruct t = Tracker(e) ctx = SelfDescribingJson("test.context.schema", {"user": "******"}) evTstamp = 1399021242030 t.track_link_click("example.com", "elemId", ["elemClass1", "elemClass2"], "_blank", "elemContent", context=[ctx], tstamp=evTstamp) expected = { "schema": LINK_CLICK_SCHEMA, "data": { "targetUrl": "example.com", "elementId": "elemId", "elementClasses": ["elemClass1", "elemClass2"], "elementTarget": "_blank", "elementContent": "elemContent" } } callArgs = mok_track_unstruct.call_args_list[0][0] self.assertEqual(len(callArgs), 4) self.assertDictEqual(callArgs[0].to_json(), expected) self.assertIs(callArgs[1][0], ctx) self.assertEqual(callArgs[2], evTstamp)
def test_track_link_click_optional_none(self, mok_track_unstruct): mokEmitter = self.create_patch('snowplow_tracker.Emitter') e = mokEmitter() with ContractsDisabled(): mok_track_unstruct.side_effect = mocked_track_unstruct t = Tracker(e) t.track_link_click("example.com") expected = { "schema": LINK_CLICK_SCHEMA, "data": { "targetUrl": "example.com", } } callArgs = mok_track_unstruct.call_args_list[0][0] self.assertEqual(len(callArgs), 4) self.assertDictEqual(callArgs[0].to_json(), expected) self.assertTrue(callArgs[1] is None) self.assertTrue(callArgs[2] is None)