def test_item_storage_as_edit(self): """WorkspaceStorageItem to WorkspaceEditItem conversion.""" workspace_storage_item = WorkspaceStorageItem( workspace=self.workspace_storage) workspace_storage_item.save() workspace_item_edit = workspace_storage_item.as_edit( workspace=self.workspace_edit) workspace_item_edit.save() # Do not crash. # This dict does not have _state, _workspace_cache, workspace_id storage_dict = workspace_storage_item.__dict__ edit_dict = workspace_item_edit.__dict__ # _workspace_cache does not appear in other code... strange? del edit_dict['id'] del edit_dict['_state'] del edit_dict['_workspace_cache'] del edit_dict['workspace_id'] self.assertEquals(edit_dict, storage_dict)
def test_loads_stored_workspace(self): """WorkspaceEdit's get_or_create should copy an existing stored workspace when creating a new one if the relevant setting exists.""" user = AnonymousUser() Setting.objects.create( key="default_workspace_anonymous_user", value="some_secret_slug") workspace_storage = WorkspaceStorage( name='storage', secret_slug="some_secret_slug") workspace_storage.save() workspace_storage_item = WorkspaceStorageItem( workspace=workspace_storage) workspace_storage_item.save() session_key = "whee" workspace_edit = WorkspaceEdit.get_or_create(session_key, user) # Should contain 1 item, copied from the workspace storage self.assertEquals( len(workspace_edit.workspace_items.all()), 1)