Ejemplo n.º 1
0
        public async Task TestCompletedQueryAssignments()
        {
            var assignment   = CreateSimpleAssignmentNew();
            var assignmentId = await AssignmentUtils.CreateAssignment(assignment);

            var assignmentPatch = new AssignmentPatch();

            //When we set isComplete to true, Skylight will set the completedBy field to our integration id
            assignmentPatch.Add("completedAt", DateTime.Now.ToString("yyyy-MM-dd'T'HH:mm:ss.fffzzz"));
            assignmentPatch.Add("isComplete", true);
            assignmentPatch.Add("completionDetails", "Completed by SDK");

            var assignmentPatchRequest = new PatchAssignmentRequest(assignmentPatch, assignmentId);
            await SkyManager.ApiClient.ExecuteRequestAsync(assignmentPatchRequest);

            var getAssignmentsRequest = new GetAssignmentsRequest();

            getAssignmentsRequest.AddAllRealmQuery(true);
            getAssignmentsRequest.AddCompletedQuery(true);
            getAssignmentsRequest.AddCompletedByQuery(SkyManager.IntegrationId); //As noted above, this assignment will have been completed by the integration id
            var getAssignmentsResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getAssignmentsRequest);

            var queriedAssignments = getAssignmentsResponse.Content;

            //There should exist at least one assignment in the realm, as we just made one
            Assert.InRange(queriedAssignments.Count, 1, Int16.MaxValue);
            var returnedAssignment = queriedAssignments.First();

            Assert.NotNull(returnedAssignment.CompletedAt);
            Assert.Equal(returnedAssignment.CompletedBy, SkyManager.IntegrationId);
            Assert.NotNull(returnedAssignment.CompletionDetails);
            Assert.True(returnedAssignment.IsComplete);
            await AssignmentUtils.DeleteAssignment(assignmentId);
        }
Ejemplo n.º 2
0
        public async Task TestAllRealmQueryAssignments()
        {
            var assignment   = CreateSimpleAssignmentNew();
            var assignmentId = await AssignmentUtils.CreateAssignment(assignment);

            var getAssignmentsRequest = new GetAssignmentsRequest();

            getAssignmentsRequest.AddAllRealmQuery(true);
            var getAssignmentsResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getAssignmentsRequest);

            var queriedAssignments = getAssignmentsResponse.Content;

            //There should exist at least one assignment in the realm, as we just made one
            Assert.InRange(queriedAssignments.Count, 1, Int16.MaxValue);
            await AssignmentUtils.DeleteAssignment(assignmentId);
        }
Ejemplo n.º 3
0
        private async Task GetAssignment(String Id)
        {
            GetAssignmentsRequest request = new GetAssignmentsRequest {
                TicketId = Id
            };

            try {
                State = MatchmakingState.Searching;
                var responseStream = m_client.GetAssignments(request).ResponseStream;
                await responseStream.MoveNext();

                assignment = responseStream.Current.Assignment;
                Debug.Log(assignment);
                State = MatchmakingState.Found;
            } catch (RpcException e) {
                throw e;
            }
        }
Ejemplo n.º 4
0
        public async Task TestSortQueryAssignments()
        {
            var assignment = CreateSimpleAssignmentNew();

            assignment.AssignedTo = TestUserId;
            var assignmentId = await AssignmentUtils.CreateAssignment(assignment);

            var getAssignmentsRequest = new GetAssignmentsRequest();

            getAssignmentsRequest.AddUserIdsQuery(TestUserId);
            getAssignmentsRequest.AddSortQuery("created");//This sorts by ascending created date
            var getAssignmentsResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getAssignmentsRequest);

            var queriedAssignments = getAssignmentsResponse.Content;

            //There should exist at least one assignment in the realm, as we just made one
            Assert.InRange(queriedAssignments.Count, 1, Int16.MaxValue);
            await AssignmentUtils.DeleteAssignment(assignmentId);
        }
Ejemplo n.º 5
0
        public async Task TestUserIdQueryAssignments()
        {
            var assignment = CreateSimpleAssignmentNew();

            assignment.AssignedTo = TestUserId;
            var assignmentId = await AssignmentUtils.CreateAssignment(assignment);

            var getAssignmentsRequest = new GetAssignmentsRequest();

            getAssignmentsRequest.AddUserIdsQuery(TestUserId);
            var getAssignmentsResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getAssignmentsRequest);

            var queriedAssignments = getAssignmentsResponse.Content;

            //As the tests are run in parallel, there may be more than one assignment. At the very least, we'll have one assignment.
            Assert.InRange(queriedAssignments.Count, 1, Int16.MaxValue);

            await AssignmentUtils.DeleteAssignment(assignmentId);
        }
Ejemplo n.º 6
0
        public async Task TestArchivedQueryAssignments()
        {
            var assignment   = CreateSimpleAssignmentNew();
            var assignmentId = await AssignmentUtils.CreateAssignment(assignment);

            await AssignmentUtils.DeleteAssignment(assignmentId, false); //false sets the purge parameter to false, which means the assignment will be archived

            var getAssignmentsRequest = new GetAssignmentsRequest();

            getAssignmentsRequest.AddAllRealmQuery(true);
            getAssignmentsRequest.AddArchivedQuery(true);
            getAssignmentsRequest.AddArchivedOnlyQuery(true);
            var getAssignmentsResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getAssignmentsRequest);

            var queriedAssignments = getAssignmentsResponse.Content;

            //There should exist at least one assignment in the realm, as we just made one
            Assert.InRange(queriedAssignments.Count, 1, Int16.MaxValue);

            await AssignmentUtils.DeleteAssignment(assignmentId); //Purge this assignment to clean up
        }
Ejemplo n.º 7
0
        public async Task TestWorkflowIdQueryAssignments()
        {
            var assignment = CreateSimpleAssignmentNew();

            assignment.WorkflowId = "";//This is the equivalent of not specifying a workflow id (the default)
            var assignmentId = await AssignmentUtils.CreateAssignment(assignment);

            var returnedAssignment = await AssignmentUtils.GetAssignment(assignmentId);

            var getAssignmentsRequest = new GetAssignmentsRequest();

            getAssignmentsRequest.AddAllRealmQuery(true);
            getAssignmentsRequest.AddWorkflowIdQuery(returnedAssignment.WorkflowId);
            var getAssignmentsResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getAssignmentsRequest);

            var queriedAssignments = getAssignmentsResponse.Content;

            //There should exist at least one assignment in the realm, as we just made one
            Assert.InRange(queriedAssignments.Count, 1, Int16.MaxValue);
            Assert.Equal(assignment.WorkflowId, returnedAssignment.WorkflowId); //No workflow id should be assigned, so these should be empty
            await AssignmentUtils.DeleteAssignment(assignmentId);
        }
Ejemplo n.º 8
0
        public async Task TestUpdatedQueryAssignments()
        {
            var assignment   = CreateSimpleAssignmentNew();
            var assignmentId = await AssignmentUtils.CreateAssignment(assignment);

            var assignmentUpdate = new AssignmentUpdate()
            {
                Name                = new Guid().ToString()
                , AssignedTo        = TestUserId
                , CompletedAt       = null
                , CompletedBy       = ""
                , CompletionDetails = ""
                , ConfirmCaptures   = false
                , Description       = ""
                , Fade              = new Fade()
                , IntegrationId     = SkyManager.IntegrationId
                , IsComplete        = false
                , RootSequence      = AssignmentUtils.ROOT_SEQUENCE_ID
                , WorkflowId        = ""
            };

            var assignmentUpdateRequest = new UpdateAssignmentRequest(assignmentUpdate, assignmentId);
            await SkyManager.ApiClient.ExecuteRequestAsync(assignmentUpdateRequest);

            var getAssignmentsRequest = new GetAssignmentsRequest();

            getAssignmentsRequest.AddAllRealmQuery(true);
            getAssignmentsRequest.AddUpdatedByQuery(SkyManager.IntegrationId); //As noted above, this assignment will have been updated by the integration id
            var getAssignmentsResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getAssignmentsRequest);

            var queriedAssignments = getAssignmentsResponse.Content;

            //There should exist at least one assignment in the realm, as we just made one
            Assert.InRange(queriedAssignments.Count, 1, Int16.MaxValue);
            await AssignmentUtils.DeleteAssignment(assignmentId);
        }
Ejemplo n.º 9
0
        public async Task <ActionResult <CollectionViewModel <CompanyAssignment> > > GetAssignments([FromBody, Required] GetAssignmentsRequest request)
        {
            var assignments = await _priceUnitRepository.GetAssignmentsAsync(request.MasterDataList);

            var response = new CollectionViewModel <CompanyAssignment>(assignments.ToList());

            return(Ok(response));
        }