FIX: when advancing draft sequence remove old drafts

This commit is contained in:
Sam Saffron 2015-06-02 13:32:25 +10:00
parent afafa30989
commit d459cb95dc
2 changed files with 2 additions and 0 deletions

View File

@ -11,6 +11,7 @@ class DraftSequence < ActiveRecord::Base
c.sequence ||= 0 c.sequence ||= 0
c.sequence += 1 c.sequence += 1
c.save c.save
exec_sql("DELETE FROM drafts WHERE user_id = :user_id AND draft_key = :draft_key AND sequence < :sequence", draft_key: key, user_id: user_id, sequence: c.sequence)
c.sequence c.sequence
end end

View File

@ -42,6 +42,7 @@ describe Draft do
_t = Fabricate(:topic, user: u) _t = Fabricate(:topic, user: u)
s = DraftSequence.current(u, Draft::NEW_TOPIC) s = DraftSequence.current(u, Draft::NEW_TOPIC)
expect(Draft.get(u, Draft::NEW_TOPIC, s)).to eq nil expect(Draft.get(u, Draft::NEW_TOPIC, s)).to eq nil
expect(Draft.count).to eq 0
end end
it 'nukes new pm draft after a pm is created' do it 'nukes new pm draft after a pm is created' do