def test_track_form_submit_empty_elems(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_form_submit("testFormId", elements=[]) expected = { "schema": FORM_SUBMIT_SCHEMA, "data": { "formId": "testFormId" } } callArgs = mok_track_unstruct.call_args_list[0][0] self.assertEqual(len(callArgs), 4) self.assertDictEqual(callArgs[0].to_json(), expected)
def test_track_form_submit(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 elems = [{ "name": "user_email", "value": "*****@*****.**", "nodeName": "INPUT", "type": "email" }] t.track_form_submit("testFormId", ["testClass1", "testClass2"], elems, context=[ctx], tstamp=evTstamp) expected = { "schema": FORM_SUBMIT_SCHEMA, "data": { "formId": "testFormId", "formClasses": ["testClass1", "testClass2"], "elements": elems } } 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)