def test_submit(self): volley = [("Working - Coding", "Office", { 'happiness': 10, 'stress': 2 }, { 'activity': 'Working', 'activity_sub': "Coding", 'place': "Office" }), ("Working: Meeting", "Office", { 'happiness': 2, 'stress': 4 }, { 'activity': 'Working', 'activity_sub': "Meeting", 'place': "Office" }), ("Running", "Track", { 'happiness': 10, 'stress': 1 }, { 'activity': 'Running', 'activity_sub': None, 'place': "Track" })] for v in volley: activity, place, metrics, expected_vals = v kwargs = {'activity': activity, 'place': place, 'metrics': metrics} sn = Snapshot.Create(self.u, **kwargs) sn.put() for key, val in expected_vals.items(): self.assertEqual(getattr(sn, key), val) for metric, val in metrics.items(): self.assertEqual(sn.get_data_value(metric), val)
def submit(self, d): ''' Submit a snapshot. Assume snapshot is now ''' params = tools.gets(self, strings=['lat', 'lon', 'activity', 'place'], json=['metrics'], lists=['people']) snap = Snapshot.Create(self.user, **params) snap.put() self.success = True self.set_response({'snapshot': snap.json() if snap else None}, message="Snapshot submitted!", debug=True)
def test_snapshot_calls(self): # Create snap = Snapshot.Create(self.u, activity="Eating", place="Restaurant", people=["Elizabeth"], metrics={'stress': 2}) snap.put() self.assertEqual(snap.get_data_value('stress'), 2) self.assertEqual(snap.activity, "Eating") # List response = self.get_json("/api/snapshot", {}, headers=self.api_headers) snap = response.get('snapshots')[0] print response self.assertEqual(snap.get('activity'), "Eating")