public async Task GivenRequestForMultipleTags_WhenNoTagsAreStored_ThenReturnEmptyResult()
        {
            _extendedQueryTagStore.GetExtendedQueryTagsAsync(7, 0).Returns(Array.Empty <ExtendedQueryTagStoreJoinEntry>());
            GetExtendedQueryTagsResponse response = await _getExtendedQueryTagsService.GetExtendedQueryTagsAsync(7, 0);

            await _extendedQueryTagStore.Received(1).GetExtendedQueryTagsAsync(7, 0);

            _urlResolver.DidNotReceiveWithAnyArgs().ResolveQueryTagErrorsUri(default);
        public async Task GivenNullStatus_WhenGettingStatus_ThenReturnNotFound()
        {
            Guid         id          = Guid.NewGuid();
            IMediator    mediator    = Substitute.For <IMediator>();
            IUrlResolver urlResolver = Substitute.For <IUrlResolver>();
            var          controller  = new OperationsController(mediator, urlResolver, NullLogger <OperationsController> .Instance);

            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            mediator
            .Send(
                Arg.Is <OperationStatusRequest>(x => x.OperationId == id),
                Arg.Is(controller.HttpContext.RequestAborted))
            .Returns((OperationStatusResponse)null);

            Assert.IsType <NotFoundResult>(await controller.GetStatusAsync(id));
            Assert.False(controller.Response.Headers.ContainsKey(HeaderNames.Location));

            await mediator.Received(1).Send(
                Arg.Is <OperationStatusRequest>(x => x.OperationId == id),
                Arg.Is(controller.HttpContext.RequestAborted));

            urlResolver.DidNotReceiveWithAnyArgs().ResolveOperationStatusUri(default);