private async Task ApproveAllApplications() { Skip.If(!_fixture.RegistrationOk); foreach (var application in _applicationTestSet) { // approve app var applicationModel = await _applicationsDatabase.ApproveApplicationAsync(application.Model.ApplicationId.ToString(), true, true); Assert.NotNull(applicationModel); Assert.Equal(ApplicationState.Approved, applicationModel.ApplicationState); } }
private async Task ApproveAllApplications() { await Assert.ThrowsAsync <ArgumentNullException>(async() => { await _applicationsDatabase.ApproveApplicationAsync(null, false, false); }); await Assert.ThrowsAsync <ArgumentException>(async() => { await _applicationsDatabase.ApproveApplicationAsync(Guid.Empty.ToString(), false, false); }); Skip.If(!_fixture.RegistrationOk); int fullPasses = 0; foreach (var application in _applicationTestSet) { // read model to get state var applicationModel = await _applicationsDatabase.GetApplicationAsync(application.Model.ApplicationId.ToString()); if (applicationModel.ApplicationState == ApplicationState.New) { // approve app applicationModel = await _applicationsDatabase.ApproveApplicationAsync(application.Model.ApplicationId.ToString(), true, false); Assert.NotNull(applicationModel); Assert.Equal(ApplicationState.Approved, applicationModel.ApplicationState); } // verify start condition if (applicationModel.ApplicationState != ApplicationState.Approved) { continue; } // reject approved app should fail await Assert.ThrowsAsync <ResourceInvalidStateException>(async() => { await _applicationsDatabase.ApproveApplicationAsync(application.Model.ApplicationId.ToString(), false, false); }); // force approved app to rejected state applicationModel = await _applicationsDatabase.ApproveApplicationAsync(application.Model.ApplicationId.ToString(), false, true); Assert.NotNull(applicationModel); Assert.NotEqual(applicationModel.ApplicationId, Guid.Empty); Assert.Equal(ApplicationState.Rejected, applicationModel.ApplicationState); ApplicationTestData.AssertEqualApplicationModelData(applicationModel, application.Model); // approve rejected app should fail await Assert.ThrowsAsync <ResourceInvalidStateException>(async() => { await _applicationsDatabase.ApproveApplicationAsync(application.Model.ApplicationId.ToString(), true, false); }); // force approve of rejected app applicationModel = await _applicationsDatabase.ApproveApplicationAsync(application.Model.ApplicationId.ToString(), true, true); Assert.NotNull(applicationModel); Assert.NotEqual(applicationModel.ApplicationId, Guid.Empty); Assert.Equal(ApplicationState.Approved, applicationModel.ApplicationState); ApplicationTestData.AssertEqualApplicationModelData(applicationModel, application.Model); fullPasses++; } // not enough test passes to verify Skip.If(fullPasses < _applicationTestSet.Count / 2); }
public async Task <ApplicationRecordApiModel> ApproveApplicationAsync(string applicationId, bool approved, bool?force) { return(new ApplicationRecordApiModel(await _applicationDatabase.ApproveApplicationAsync(applicationId, approved, force ?? false))); }