@Test public void testWriteItemsTestRepository() throws Exception { RepositoryItemWriter<String> writer = new RepositoryItemWriterBuilder<String>() .methodName("foo") .repository(this.repository) .build(); List<String> items = Collections.singletonList("foo"); writer.write(items); verify(this.repository).foo("foo"); }
@Test public void testWriteItems() throws Exception { RepositoryItemWriter<String> writer = new RepositoryItemWriterBuilder<String>() .methodName("save") .repository(this.repository) .build(); List<String> items = Collections.singletonList("foo"); writer.write(items); verify(this.repository).save("foo"); }
@Test public void testNullRepository() throws Exception { try { new RepositoryItemWriterBuilder<String>().methodName("save").build(); fail("IllegalArgumentException should have been thrown"); } catch (IllegalArgumentException iae) { assertEquals("IllegalArgumentException message did not match the expected result.", "repository is required.", iae.getMessage()); } }
@Test public void testEmptyMethodName() throws Exception { try { new RepositoryItemWriterBuilder<String>().repository(this.repository).build(); fail("IllegalArgumentException should have been thrown"); } catch (IllegalArgumentException iae) { assertEquals("IllegalArgumentException message did not match the expected result.", "methodName is required.", iae.getMessage()); } }
@Test public void testWriteItemsTestRepositoryMethodIs() throws Exception { RepositoryItemWriterBuilder.RepositoryMethodReference<TestRepository> repositoryMethodReference = new RepositoryItemWriterBuilder.RepositoryMethodReference<>( this.repository); repositoryMethodReference.methodIs().foo(null); RepositoryItemWriter<String> writer = new RepositoryItemWriterBuilder<String>() .methodName("foo") .repository(repositoryMethodReference) .build(); List<String> items = Collections.singletonList("foo"); writer.write(items); verify(this.repository).foo("foo"); }