Esempio n. 1
0
 def test_serialisationOfSequenceDict(self):
     sequence_id = "serialisation"
     self.registerSequenceString(sequence_id, "stepFillSequenceDict")
     sequence = StoredSequence(self, sequence_id)
     sequence.setSequenceString("stepLogin")
     sequence_list = SequenceList()
     sequence_list.addSequence(sequence)
     sequence_list.play(self)
     sequence_dict = sequence._dict
     # sequence._dict will be recalculated
     sequence.deserialiseSequenceDict(self.portal.portal_trash[
         sequence._getTrashBinId(self)].serialised_sequence)
     self.assertEqual(
         sequence_dict,
         sequence._dict,
     )
Esempio n. 2
0
 def test_storedSequenceCanRestoreAState(self):
     sequence_id = "sequence_can_restore"
     self.registerSequenceString(sequence_id, """
   stepCreatePerson
 """)
     sequence = StoredSequence(self, sequence_id)
     sequence.setSequenceString("stepUpdatePerson1")
     sequence_list = SequenceList()
     sequence_list.addSequence(sequence)
     sequence_list.play(self)
     self.assertEqual(self.portal.person_module.person.getTitle(),
                      "Person 1")
     trashbin_value = self.portal.portal_trash[sequence._getTrashBinId(
         self)]
     self.assertEqual(trashbin_value.person_module.person.getTitle(),
                      "Person")
     self.assertEqual(trashbin_value.getProperty("serialised_sequence"),
                      ({
                          "key": "person",
                          "type": "erp5_object",
                          "value": "person_module/person"
                      }, ))
     self.portal.person_module.manage_delObjects(ids=["person"])
     # Run new sequence, with same base sequence.
     # Update the title of the person document in the trashbin to be
     # sure it has been restored from trash and not created
     trashbin_value.person_module.person.setTitle("Trash Person")
     self.tic()
     sequence = StoredSequence(self, sequence_id)
     sequence.setSequenceString("stepUpdatePerson2")
     sequence_list = SequenceList()
     sequence_list.addSequence(sequence)
     sequence_list.play(self)
     self.assertEqual(trashbin_value.person_module.person.getTitle(),
                      "Trash Person")
     self.assertEqual(self.portal.person_module.person.getTitle(),
                      "Trash Person 2")