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, {})
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, {})
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 }]})
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, {})
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 }]})
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, {})
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}] })
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 }]})
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 }]})
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 }]})
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 }] })