def test_update_bulk_with_employee(self): """ Test updating multiple equipments with employee """ equipment2 = Equipment(description="Jigsaw", brand="Makita", status="Checked Out", employee=self.employee) equipment2.save() data = [{'id': 1, 'description': "F-50", 'brand': 'Red King', 'status': 'Checked Out', 'employee': {'id': 1}}, {'id': 2, 'description': 'Jigsaw', 'brand': 'Makita', 'status': 'Checked In', 'employee': {'id': 1}}] resp = self.client.put("/api/v1/equipment/", data=data, format="json") self.assertEqual(resp.status_code, 200) #Test the response data = resp.data self.assertIsInstance(data, list) equip1 = data[0] self.assertEqual(equip1['id'], 1) self.assertEqual(equip1['description'], "F-50") self.assertEqual(equip1['brand'], 'Red King') self.assertEqual(equip1['status'], 'Checked Out') self.assertIn('employee', equip1) self.assertIsInstance(equip1['employee'], dict) self.assertIn('id', equip1['employee']) self.assertEqual(equip1['employee']['id'], 1) equip2 = data[1] self.assertEqual(equip2['id'], 2) self.assertEqual(equip2['description'], "Jigsaw") self.assertEqual(equip2['brand'], 'Makita') self.assertEqual(equip2['status'], 'Checked In') self.assertNotIn('employee', equip2) #Test instances in database equip1 = Equipment.objects.get(pk=1) self.assertEqual(equip1.id, 1) self.assertEqual(equip1.description, "F-50") self.assertEqual(equip1.brand, "Red King") self.assertEqual(equip1.status, "Checked Out") self.assertIsNotNone(equip1.employee) self.assertEqual(equip1.employee.id, 1) equip2 = Equipment.objects.get(pk=2) self.assertEqual(equip2.id, 2) self.assertEqual(equip2.description, "Jigsaw") self.assertEqual(equip2.brand, "Makita") self.assertEqual(equip2.status, "Checked In") self.assertIsNone(equip2.employee)
def setUp(self): self.equipment = Equipment(**base_equipment) self.equipment.save() self.employee = Employee(first_name="John", last_name="Smith", department="Carpentry") self.employee.save() self.image = S3Object() self.image.save()
def equipment(): vessel = Vessel() vessel.vessel_code = 'MV102' vessel.save() equipment = Equipment() equipment.equipment_code = '5310B9D7' equipment.name = 'equipment_test_name' equipment.status = True equipment.location = 'test_name_location' equipment.vessel = vessel equipment.save() return equipment