              model
              (-> model
                  (assoc :field "")
-                 (update :next-id inc)
+                 (update :next-id inc #_(min (inc %) 3))    ; commented is the code which will make tests fail
                  (update :todos concat [(-init-todo (:next-id model) title)]))))
 
          [:toggle id]

         (-update-todo model id #(assoc % :editing? false
                                          :title (:original-title %)
                                          :original-title ""))

         [:update-todo id val]
         (-update-todo model id assoc :title val)

         [:remove id]
         (-remove-todo model id)

         :on-toggle-all (dispatch :toggle-all)

         [:on-start-editing id] (dispatch [:start-editing id])
         [:on-update-todo id val] (dispatch [:update-todo id val])
         [:on-stop-editing id] (dispatch [:stop-editing id])
         [:on-cancel-editing id] (dispatch [:cancel-editing id])

         [:on-remove id] (dispatch [:remove id])

