public void ProcessQuery_with_StoreAspAssessNoSession_action_passes_query_params() { // Given var query = defaultStoreAspAssessQueryParams; query.Action = "StoreAspAssessNoSession"; var expectedResponse = TrackerEndpointResponse.Success; A.CallTo( () => actionService.StoreAspAssessNoSession( A <int> ._, A <int> ._, A <int> ._, A <int> ._, A <int> ._, A <string> ._ ) ).Returns(expectedResponse); // When var result = trackerService.ProcessQuery(query, sessionVariablesForStoreAspProgressNoSession); // Then result.Should().Be(expectedResponse); A.CallTo( () => actionService.StoreAspAssessNoSession( query.Version !.Value, query.SectionId !.Value, query.Score !.Value, query.CandidateId !.Value, query.CustomisationId !.Value, DefaultSessionId ) ) .MustHaveHappenedOnceExactly(); }
StoreAspAssessNoSession_returns_exception_from_query_param_and_progress_validation() { // Given A.CallTo( () => storeAspService.GetProgressAndValidateInputsForStoreAspAssess( A <int?> ._, A <int?> ._, A <int?> ._, A <int?> ._ ) ).Returns((TrackerEndpointResponse.StoreAspAssessException, null)); // When var result = trackerActionService.StoreAspAssessNoSession( DefaultCustomisationVersion, DefaultSectionId, DefaultScore, DefaultDelegateId, DefaultCustomisationId, DefaultSessionId.ToString() ); // Then using (new AssertionScope()) { result.Should().Be(TrackerEndpointResponse.StoreAspAssessException); A.CallTo( () => storeAspService.GetProgressAndValidateInputsForStoreAspAssess( DefaultCustomisationVersion, DefaultScore, DefaultDelegateId, DefaultCustomisationId ) ).MustHaveHappenedOnceExactly(); A.CallTo(() => storeAspService.GetAndValidateSectionAssessmentDetails(A <int?> ._, A <int> ._)) .MustNotHaveHappened(); A.CallTo( () => storeAspService.ParseSessionIdAndValidateSessionForStoreAspNoSessionEndpoints( A <string?> ._, A <int> ._, A <int> ._, A <TrackerEndpointResponse> ._ ) ).MustNotHaveHappened(); CallsAfterStoreAspAssessValidationMustNotHaveHappened(); } }