/** Check what happens when try to save a search whose user has changed. */ @Test public void testUpdateChangedUserName() { SearchRequest expectedRequest = new SearchRequest(searchRequest1); expectedRequest.setOwnerUserName(fredUser.getName()); deletegateStore.getAllOwnedSearchRequests(adminUser); mockController.setReturnValue(EasyList.build(searchRequest1, searchRequest2, searchRequest3)); deletegateStore.getAllOwnedSearchRequests(fredUser); mockController.setReturnValue(EasyList.build(searchRequest4)); deletegateStore.update(expectedRequest); mockController.setReturnValue(expectedRequest); mockController.replay(); // put a value in the cache for the test. cachingStore.getAllOwnedSearchRequests(adminUser); cachingStore.getAllOwnedSearchRequests(fredUser); // this call should work. assertEqualsNotSame(expectedRequest, cachingStore.update(expectedRequest)); // all of these calls should be cache. assertEqualsNotSame(searchRequest2, cachingStore.getSearchRequest(searchRequest2.getId())); assertEqualsNotSame(searchRequest3, cachingStore.getSearchRequest(searchRequest3.getId())); assertEqualsNotSame(searchRequest4, cachingStore.getSearchRequest(searchRequest4.getId())); assertEqualsNotSame(expectedRequest, cachingStore.getSearchRequest(expectedRequest.getId())); assertEqualsNotSame( EasyList.build(searchRequest2, searchRequest3), cachingStore.getAllOwnedSearchRequests(adminUser)); assertEqualsNotSame( EasyList.build(expectedRequest, searchRequest4), cachingStore.getAllOwnedSearchRequests(fredUser)); mockController.verify(); }