Example #1
0
 def test_saving_a_changerecord_sends_nothing(self):
     """
     Saving without change sends no signal.
     """
     cr = self.valid.latest
     with SignalGrabber(self.signals) as grabber:
         cr.save()
         self.assertSignals(grabber, {})
Example #2
0
 def test_resave_does_not_emit_signal(self):
     """
     Test that resaving does not emit a signal.
     """
     with SignalGrabber(self.signals) as grabber:
         sf = SemanticField(path="01.01n")
         sf.save()
         sf.save()
         self.assertSignals(grabber, {})
Example #3
0
 def test_hiding_a_changerecord_sends_changerecord_hidden(self):
     cr = self.valid.latest
     cr.hidden = True
     with SignalGrabber(self.signals) as grabber:
         cr.save()
         self.assertSignals(
             grabber, {signals.changerecord_hidden: [{
                 'instance': cr
             }]})
Example #4
0
 def test_unpublishing_does_not_send_entry_newly_published(self):
     entry = self.valid
     self.assertTrue(entry.latest.publish(self.foo))
     entry.update(self.foo, "q", entry.latest.c_hash, entry.lemma,
                  ChangeRecord.UPDATE, ChangeRecord.MANUAL)
     self.assertTrue(entry.latest.publish(self.foo))
     with SignalGrabber(self.signals) as grabber:
         entry.latest_published.unpublish(self.foo)
         self.assertSignals(grabber, {})
Example #5
0
 def test_entry_publishing_sends_entry_newly_published(self):
     entry = self.valid
     with SignalGrabber(self.signals) as grabber:
         self.assertTrue(entry.latest.publish(self.foo))
         self.assertSignals(
             grabber,
             {signals.entry_newly_published: [{
                 'instance': entry
             }]})
Example #6
0
 def test_change_non_heading_does_not_emit_signal(self):
     """
     Test that changing something else than the heading does not emit.
     """
     with SignalGrabber(self.signals) as grabber:
         sf = SemanticField(path="01.01n")
         sf.save()
         sf.path = "01.02n"
         sf.save()
         self.assertSignals(grabber, {})
Example #7
0
 def test_heading_change_emits_signal(self):
     """
     Test that changing a heading emits a signal.
     """
     with SignalGrabber(self.signals) as grabber:
         sf = SemanticField(path="01.01n")
         sf.save()
         sf.heading = "Q"
         sf.save()
         self.assertSignals(grabber, {
             semantic_field_updated: [{'instance': sf}]
         })
Example #8
0
    def test_entry_deletion_sends_entry_unavailable(self):
        entry = Entry()
        entry.update(self.foo, "q", self.entry.latest.c_hash,
                     self.entry.lemma + " copy", ChangeRecord.CREATE,
                     ChangeRecord.MANUAL)

        with SignalGrabber(self.signals) as grabber:
            entry.mark_deleted(self.foo)
            self.assertSignals(
                grabber, {signals.entry_unavailable: [{
                    'instance': entry
                }]})
Example #9
0
 def test_republishing_does_not_send_entry_newly_published(self):
     entry = self.valid
     self.assertTrue(entry.latest.publish(self.foo))
     with SignalGrabber(self.signals) as grabber:
         entry.update(self.foo, "q", entry.latest.c_hash, entry.lemma,
                      ChangeRecord.UPDATE, ChangeRecord.MANUAL)
         self.assertTrue(entry.latest.publish(self.foo))
         self.assertSignals(
             grabber,
             {signals.changerecord_shown: [{
                 'instance': entry.latest
             }]})
Example #10
0
 def test_completely_unpublishing_sends_entry_newly_published(self):
     entry = self.valid
     self.assertTrue(entry.latest.publish(self.foo))
     entry.update(self.foo, "q", entry.latest.c_hash, entry.lemma,
                  ChangeRecord.UPDATE, ChangeRecord.MANUAL)
     self.assertTrue(entry.latest.publish(self.foo))
     entry.latest_published.unpublish(self.foo)
     with SignalGrabber(self.signals) as grabber:
         entry.latest_published.unpublish(self.foo)
         self.assertSignals(
             grabber, {signals.entry_unpublished: [{
                 'instance': entry
             }]})
Example #11
0
 def test_entry_creation_sends_entry_available(self):
     with SignalGrabber(self.signals) as grabber:
         entry = Entry()
         entry.update(self.foo, "q", self.entry.latest.c_hash,
                      self.entry.lemma + " copy", ChangeRecord.CREATE,
                      ChangeRecord.MANUAL)
         self.assertSignals(
             grabber, {
                 signals.entry_available: [{
                     'instance': entry
                 }],
                 signals.changerecord_shown: [{
                     'instance': entry.latest
                 }]
             })