public async Task CanCallOnChangeSetItemProcessingAsync() { var testClass = new ConventionBasedChangeSetItemFilter(typeof(EmptyApi)); var context = new SubmitContext(new EmptyApi(serviceProvider), new ChangeSet()); var cancellationToken = CancellationToken.None; await testClass.OnChangeSetItemProcessingAsync(context, dataModificationItem, cancellationToken); }
public async Task CannotCallOnChangeSetItemProcessedAsyncWithNullItem() { var testClass = new ConventionBasedChangeSetItemFilter(typeof(EmptyApi)); Func <Task> act = () => testClass.OnChangeSetItemProcessedAsync( new SubmitContext(new EmptyApi(serviceProvider), new ChangeSet()), default(ChangeSetItem), CancellationToken.None); await act.Should().ThrowAsync <ArgumentNullException>(); }
public async Task CannotCallOnChangeSetItemProcessedAsyncWithNullContext() { var testClass = new ConventionBasedChangeSetItemFilter(typeof(EmptyApi)); Func <Task> act = () => testClass.OnChangeSetItemProcessedAsync( default(SubmitContext), dataModificationItem, CancellationToken.None); await act.Should().ThrowAsync <ArgumentNullException>(); }
public async Task OnChangeSetItemProcessingAsyncInvokesConventionMethod() { var api = new InsertApi(serviceProvider); var context = new SubmitContext(api, new ChangeSet()); var cancellationToken = CancellationToken.None; var testClass = new ConventionBasedChangeSetItemFilter(typeof(InsertApi)); await testClass.OnChangeSetItemProcessingAsync(context, dataModificationItem, cancellationToken); api.InvocationCount.Should().Be(1); }
public async Task OnChangeSetItemProcessingWithWrongNumberOfArguments() { testTraceListener.Clear(); var api = new IncorrectArgumentsApi(serviceProvider); var testClass = new ConventionBasedChangeSetItemFilter(typeof(IncorrectArgumentsApi)); var context = new SubmitContext(api, new ChangeSet()); var cancellationToken = CancellationToken.None; await testClass.OnChangeSetItemProcessingAsync(context, dataModificationItem, cancellationToken); testTraceListener.Messages.Should().Contain("incorrect number of arguments"); api.InvocationCount.Should().Be(0); }
public async Task OnChangeSetItemProcessingWithWrongApiType() { testTraceListener.Clear(); var api = new PrivateMethodApi(serviceProvider); var testClass = new ConventionBasedChangeSetItemFilter(typeof(InsertApi)); var context = new SubmitContext(api, new ChangeSet()); var cancellationToken = CancellationToken.None; await testClass.OnChangeSetItemProcessingAsync(context, dataModificationItem, cancellationToken); testTraceListener.Messages.Should().Contain("is of the incorrect type"); api.InvocationCount.Should().Be(0); }
public async Task OnChangeSetItemProcessingWithWrongMethod() { testTraceListener.Clear(); var api = new WrongMethodApi(serviceProvider); var testClass = new ConventionBasedChangeSetItemFilter(typeof(WrongMethodApi)); var context = new SubmitContext(api, new ChangeSet()); var cancellationToken = CancellationToken.None; await testClass.OnChangeSetItemProcessingAsync(context, dataModificationItem, cancellationToken); testTraceListener.Messages.Should().Contain("Restier Filter expected'OnInsertingObject' but found 'OnInsertingTest'"); api.InvocationCount.Should().Be(0); }
public async Task OnChangeSetItemProcessingAsyncWithPrivateMethod() { testTraceListener.Clear(); var api = new PrivateMethodApi(serviceProvider); var testClass = new ConventionBasedChangeSetItemFilter(typeof(PrivateMethodApi)); var context = new SubmitContext(api, new ChangeSet()); var cancellationToken = CancellationToken.None; await testClass.OnChangeSetItemProcessingAsync(context, dataModificationItem, cancellationToken); testTraceListener.Messages.Should().Contain("inaccessible due to its protection level"); api.InvocationCount.Should().Be(0); }
public void CanConstruct() { var instance = new ConventionBasedChangeSetItemFilter(typeof(EmptyApi)); instance.Should().NotBeNull(); }