def testAttachTwiceDoesNotAttachAgain(self):
     self.assertEquals(0, len(DeviceIndividual.find()))
     DeviceIndividual.attach(    self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")
     self.assertEquals(1, len(DeviceIndividual.find()))
     with self.assertRaises(AlreadyHasDevice):
         DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")
     self.assertEquals(1, len(DeviceIndividual.find()))
    def test_individual_with_multiple_documents(self):
        self.page.double_click_marker()
        self.page.save()

        DeviceIndividual.detach(self.D.id, self.I.id, '2000-12-12T12:10:00+00:00')

        dev_2 = {
            "deviceManufacturerID": "DummyDevId2",
            "deviceType": "Type2",
            "deviceManufacturer": "Manufacturer2",
            "dateCreated": "2000-09-29T14:00:00+03:00",
            "dateEdited": "2000-09-29T14:00:00+03:00"
        }
        self.D_2 = device.create(**dev_2)

        DeviceIndividual.attach(self.D_2.id, self.I.id, '2000-12-12T12:15:00+00:00')

        self.A_2 = document.create(
            [gathering.Gathering("2000-12-12T12:20:00+00:00", [25.00, 63.00]),
             gathering.Gathering("2000-12-12T12:25:00+00:00", [25.01, 63.01])],
            self.D_2.id)

        self.page.navigate()
        self.page.change_individual_selection(self.I.id)
        self.assertEquals(1, self.page.number_of_private_clusters_on_map())
        self.assertEquals(1, self.page.number_of_completely_public_clusters_on_map())
        
        self.page.click_private_cluster()
        self.page.save_and_change('None')
        self.page.change_individual_selection(self.I.id)

        self.assertEquals(0, self.page.number_of_private_clusters_on_map())
        self.assertEquals(2, self.page.number_of_completely_public_clusters_on_map())
 def testAttachOne(self):
     self.assertEquals(0, len(DeviceIndividual.find()))
     DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")
     self.assertEquals(1, len(DeviceIndividual.find()))
     self.assertEquals(self.I.id, DeviceIndividual.get_active_attachment_of_device(self.D.id)["individualID"])
     self.assertEquals(self.I.id, DeviceIndividual.get_active_attachment_of_device(self.D.id)["individualID"])
     self.assertEquals("2015-09-29T14:00:00+03:00", DeviceIndividual.get_active_attachment_of_individual(self.I.id)["attached"])
     self.assertEquals("2015-09-29T14:00:00+03:00", DeviceIndividual.get_active_attachment_of_individual(self.I.id)["attached"])
    def testGetAllAttachedIndividuals(self):
        self.assertEquals(0, len(DeviceIndividual.find()))

        DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")
        DeviceIndividual.detach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")
        DeviceIndividual.attach(self.D.id, self.I2.id, "2015-09-29T14:00:00+03:00")

        self.assertEquals(2, len(DeviceIndividual.get_attachments_of_device(self.D.id)))
        self.assertEquals(self.I2.id, DeviceIndividual.get_active_attachment_of_device(self.D.id)["individualID"])
    def setUp(self):
        dev = {
            "deviceManufacturerID": "DummyDevId",
            "deviceType": "Type",
            "deviceManufacturer": "Manufacturer",
            "dateCreated": "2015-09-29T14:00:00+03:00",
            "dateEdited": "2015-09-29T14:00:00+03:00"
        }
        self.D = device.create(**dev)
        self.A = document.create(
            [gathering.Gathering("2000-12-12T12:00:00+00:00", [23.00, 61.00]),
             gathering.Gathering("2000-12-12T12:05:00+00:00", [23.01, 61.01])],
            self.D.id)
        self.page = ChoosePage()

        self.I = individual.create('Tipuliini', 'dummytaxon')
        DeviceIndividual.attach(self.D.id, self.I.id, '2000-12-12T11:55:00+00:00')

        self.page.navigate()
        self.page.change_individual_selection(self.I.id)  
    def test_2birds1doc(self):
        self.add_individual()
        DeviceIndividual.detach(self.D.id, self.I.id,   "2000-12-12T12:15:00+00:00")
        DeviceIndividual.attach(self.D.id, self.I_2.id, "2000-12-12T12:20:00+00:00")
        self.A.gatherings += [
            gathering.Gathering("2000-12-12T12:25:00+00:00", [24.00, 62.00]),
            gathering.Gathering("2000-12-12T12:30:00+00:00", [24.01, 62.01])]
        self.A.update()
        self.page.navigate()
        self.page.change_individual_selection(self.I.id)

        self.assertEquals(1, self.page.number_of_private_clusters_on_map())
        self.page.change_individual_selection(self.I_2.id)
        self.assertEquals(1, self.page.number_of_private_clusters_on_map())
        self.assertEquals(0, self.page.number_of_completely_public_clusters_on_map())
        self.page.double_click_marker()
        self.assertEquals(0, self.page.number_of_private_clusters_on_map())
        self.assertEquals(1, self.page.number_of_completely_public_clusters_on_map())
        self.page.save_and_change(self.I.id)

        self.assertEquals(1, self.page.number_of_private_clusters_on_map())
        self.page.change_individual_selection(self.I_2.id)
        self.assertEquals(0, self.page.number_of_private_clusters_on_map())
        self.assertEquals(1, self.page.number_of_completely_public_clusters_on_map())
    def testAttachDetachTwo(self):
        self.assertEquals(0, len(DeviceIndividual.find()))

        DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")
        DeviceIndividual.attach(self.D2.id, self.I2.id, "2015-09-29T14:00:00+03:00")

        self.assertEquals(2, len(DeviceIndividual.find()))
        self.assertEquals(self.I.id, DeviceIndividual.get_active_attachment_of_device(self.D.id)["individualID"])
        self.assertEquals(self.D.id, DeviceIndividual.get_active_attachment_of_individual(self.I.id)["deviceID"])
        self.assertEquals(self.I2.id, DeviceIndividual.get_active_attachment_of_device(self.D2.id)["individualID"])
        self.assertEquals(self.D2.id, DeviceIndividual.get_active_attachment_of_individual(self.I2.id)["deviceID"])

        DeviceIndividual.detach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")

        self.assertEquals(None, DeviceIndividual.get_active_attachment_of_device(self.D.id))
        self.assertEquals(None, DeviceIndividual.get_active_attachment_of_individual(self.I.id))
        self.assertEquals(self.I2.id, DeviceIndividual.get_active_attachment_of_device(self.D2.id)["individualID"])
        self.assertEquals(self.D2.id, DeviceIndividual.get_active_attachment_of_individual(self.I2.id)["deviceID"])

        DeviceIndividual.detach(self.D2.id, self.I2.id, "2015-09-29T14:00:00+03:00")

        self.assertEquals(None, DeviceIndividual.get_active_attachment_of_device(self.D2.id))
        self.assertEquals(None, DeviceIndividual.get_active_attachment_of_individual(self.I2.id))
        self.assertEquals(2, len(DeviceIndividual.find()))
 def testAttachToAnotherIndividualDoesNotAttach(self):
     DeviceIndividual.attach(    self.D.id, self.I.id,  "2015-09-29T14:00:00+03:00")
     self.assertEquals(1, len(DeviceIndividual.find()))
     with self.assertRaises(DeviceAlreadyAttached):
         DeviceIndividual.attach(self.D.id, self.I2.id, "2015-09-29T14:00:00+03:00")
     self.assertEquals(1, len(DeviceIndividual.find()))
 def testDeleteAllWorks(self):
     DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")
     self.assertEquals(1, len(DeviceIndividual.find()))
     DeviceIndividual.delete_all()
     self.assertEquals(0, len(DeviceIndividual.find()))
 def testDeletedDevicesDontMessThingsUp(self):
     DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")
     self.D.delete()
     self.assertEquals(0, len(DeviceIndividual.find()))
 def testDeletedIndividualsDontStopNewAttachments(self):
     DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")
     self.I.delete();
     DeviceIndividual.attach(self.D.id, self.I2.id, "2015-09-29T14:00:00+03:00")
     self.assertEquals(self.I2.id, DeviceIndividual.get_active_attachment_of_device(self.D.id)['individualID'])
예제 #12
0
 def attach_to(self, individualid, timestamp):
     '''
     Attaches this device to an individual
     '''
     DeviceIndividual.attach(self.id, individualid, timestamp)