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); }
public async Task TestUpdateCard() { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var cardUpdate = new CardUpdate() { Label = "New Label" , Size = 1 , Position = 1 , Layout = new LayoutText() { Text = "New Text" , TextSize = TextSize.Large } , Component = new ComponentDefault() , Footer = "Footer" , Header = "Header" , HideLabel = false , IsDone = false , Locked = false , Notes = new List <Guid?>() , Required = false , Selectable = false , Subdued = false , Tags = new List <string>() , Voice = new List <string>() }; var updateCardRequest = new UpdateCardRequest(cardUpdate, assignmentId, AssignmentUtils.ROOT_SEQUENCE_ID, CARD_ID); await SkyManager.ApiClient.ExecuteRequestAsync(updateCardRequest); await AssignmentUtils.DeleteAssignment(assignmentId); }
public async Task TestCreateAndDeleteComplexAssignment() { var assignment = CreateComplexAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); await AssignmentUtils.DeleteAssignment(assignmentId); }
private static AssignmentNew CreateSimpleAssignmentNew() { var assignment = AssignmentUtils.CreateAssignmentNew(); var sequence = AssignmentUtils.AddSequenceToAssignment(AssignmentUtils.ROOT_SEQUENCE_ID, assignment); AssignmentUtils.AddCardToSequence("card1", sequence); return(assignment); }
public async Task TestCreateSequence() { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var sequenceNew = AssignmentUtils.CreateSequenceNew(new Guid().ToString()); var createCardRequest = new CreateSequenceRequest(sequenceNew, assignmentId); await SkyManager.ApiClient.ExecuteRequestAsync(createCardRequest); await AssignmentUtils.DeleteAssignment(assignmentId); }
public async Task TestDeleteCard() { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var deleteCardRequest = new DeleteCardRequest(assignmentId, AssignmentUtils.ROOT_SEQUENCE_ID, CARD_ID); deleteCardRequest.AddPurgeQuery(true); await SkyManager.ApiClient.ExecuteRequestAsync(deleteCardRequest); await AssignmentUtils.DeleteAssignment(assignmentId); }
public async Task TestGetAssignment() { var assignment = CreateSimpleAssignmentNew(); assignment.AssignedTo = TestUserId; var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var returnedAssignment = await AssignmentUtils.GetAssignment(assignmentId); Assert.Equal(returnedAssignment.Id, assignmentId); Assert.Equal(returnedAssignment.AssignedTo, TestUserId); await AssignmentUtils.DeleteAssignment(assignmentId); }
private static AssignmentNew CreateBigAssignmentNew() { var assignment = AssignmentUtils.CreateAssignmentNew(); var sequence = AssignmentUtils.AddSequenceToAssignment(AssignmentUtils.ROOT_SEQUENCE_ID, assignment); AssignmentUtils.AddCardToSequence("card1", sequence); for (var i = 0; i < 10000; i++) { sequence = AssignmentUtils.AddSequenceToAssignment("sequence" + i, assignment); AssignmentUtils.AddCardToSequence("card1", sequence); } return(assignment); }
public async Task TestFade() { var fade = new Fade(); var assignment = CreateSimpleAssignmentNew(); assignment.Fade = fade; var assignmentId = await AssignmentUtils.CreateAssignment(assignment); await AssignmentUtils.DeleteAssignment(assignmentId); //For coverage Assert.NotNull(fade.ToJson()); Assert.NotNull(fade.ToString()); }
public async Task TestUpdateSequence() { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var sequenceUpdate = new SequenceUpdate() { ViewMode = ViewMode.Gallery }; var updateSequenceRequest = new UpdateSequenceRequest(sequenceUpdate, assignmentId, AssignmentUtils.ROOT_SEQUENCE_ID); await SkyManager.ApiClient.ExecuteRequestAsync(updateSequenceRequest); await AssignmentUtils.DeleteAssignment(assignmentId); }
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); }
private static AssignmentNew CreateComplexAssignmentNew() { var assignment = AssignmentUtils.CreateAssignmentNew(); var sequenceOne = AssignmentUtils.AddSequenceToAssignment(AssignmentUtils.ROOT_SEQUENCE_ID, assignment); AssignmentUtils.AddCardToSequence("card1", sequenceOne); AssignmentUtils.AddCardToSequence("card2", sequenceOne); var sequenceTwo = AssignmentUtils.AddSequenceToAssignment("sequence2", assignment); AssignmentUtils.AddCardToSequence("card1", sequenceTwo); AssignmentUtils.AddCardToSequence("card2", sequenceTwo); assignment.ConfirmCaptures = true; return(assignment); }
public async Task TestGetSequence() { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var getSequenceRequest = new GetSequenceRequest(assignmentId, AssignmentUtils.ROOT_SEQUENCE_ID); var getSequenceResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getSequenceRequest); var returnedSequence = getSequenceResponse.Content; Assert.Equal(returnedSequence.Id, AssignmentUtils.ROOT_SEQUENCE_ID); Assert.Equal(returnedSequence.AssignmentId, assignmentId); await AssignmentUtils.DeleteAssignment(assignmentId); }
public async Task TestGetSequenceCards() { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var getSequenceCardsRequest = new GetSequenceCardsRequest(assignmentId, AssignmentUtils.ROOT_SEQUENCE_ID); getSequenceCardsRequest.AddArchivedQuery(true); getSequenceCardsRequest.AddCompletedQuery(true); var getSequenceCardsResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getSequenceCardsRequest); Assert.Single(getSequenceCardsResponse.Content); await AssignmentUtils.DeleteAssignment(assignmentId); }
public async Task TestGetAssignmentSequences() { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var getAssignmentSequencesRequest = new GetAssignmentSequencesRequest(assignmentId); getAssignmentSequencesRequest.AddArchivedQuery(false); var getAssignmentSequencesResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getAssignmentSequencesRequest); List <Sequence> sequenceList = getAssignmentSequencesResponse.Content; Assert.NotEmpty(sequenceList); await AssignmentUtils.DeleteAssignment(assignmentId); }
public async Task TestCreateCards() { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var cardNew = AssignmentUtils.CreateCardNew(new Guid().ToString()); cardNew.Position = 1; var createCardRequest = new CreateCardsRequest(new List <CardNew>() { cardNew }, assignmentId, AssignmentUtils.ROOT_SEQUENCE_ID); await SkyManager.ApiClient.ExecuteRequestAsync(createCardRequest); await AssignmentUtils.DeleteAssignment(assignmentId); }
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); }
public async Task TestGetSequences() { var assignment = CreateAssignmentNew(); assignment.AssignedTo = TestUserId; var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var resultLimit = 1; var page = 0; var start = 0; var getSequencesRequest = new GetSequencesRequest(); getSequencesRequest.AddLimitQuery(resultLimit); getSequencesRequest.AddPageQuery(page); getSequencesRequest.AddStartQuery(start); getSequencesRequest.AddUserIdQuery(TestUserId); getSequencesRequest.AddArchivedQuery(true); getSequencesRequest.AddCompletedQuery(true); getSequencesRequest.AddUpdatedFromQuery(DateTime.MinValue.ToString("yyyy-MM-dd'T'HH:mm:ss.fffzzz")); var getSequencesResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getSequencesRequest); PaginatedSequenceList sequenceList = getSequencesResponse.Content; Assert.True(sequenceList.Size.HasValue); Assert.InRange(sequenceList.Size.Value, 1, resultLimit); Assert.Equal(page, sequenceList.Page); Assert.Equal(start, sequenceList.Start); Assert.Equal(resultLimit, sequenceList.Limit); Assert.Null(sequenceList.Revision); //Because revision is null, we have to set it for code coverage sequenceList.Revision = 0; Assert.NotNull(sequenceList.UpdatedFrom); Assert.NotNull(sequenceList.UpdatedTo); //TODO: figure out why this is null Assert.NotNull(sequenceList.ToString()); Assert.NotNull(sequenceList.ToJson()); sequenceList.SetDefaults();//This is purely for code coverage, this should not be used this way in practice await AssignmentUtils.DeleteAssignment(assignmentId); }
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); }
public async Task TestCoverageAssignment() { var assignment = CreateSimpleAssignmentNew(); assignment.SetDefaults();//This line is mostly here for code coverage; setting the fields explicitly is recommended assignment.AssignedTo = TestUserId; assignment.ConfirmCaptures = true; var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var returnedAssignment = await AssignmentUtils.GetAssignment(assignmentId); Assert.NotNull(assignment.ToJson()); Assert.NotNull(assignment.ToString()); Assert.NotNull(returnedAssignment.ToJson()); Assert.NotNull(returnedAssignment.ToString()); Assert.True(returnedAssignment.ConfirmCaptures); returnedAssignment.SetDefaults();//This line is 100% here for code coverage, this should not be used in practice. await AssignmentUtils.DeleteAssignment(assignmentId); }
/* Card Component Tests */ private async Task TestComponentCard(Component component) { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var cardNew = CreateCardNewWithComponent(component); cardNew.Position = 1; var createCardRequest = new CreateCardsRequest(new List <CardNew>() { cardNew }, assignmentId, AssignmentUtils.ROOT_SEQUENCE_ID); await SkyManager.ApiClient.ExecuteRequestAsync(createCardRequest); await AssignmentUtils.DeleteAssignment(assignmentId); //This is for code coverage var componentString = component.ToString(); var componentJson = component.ToJson(); }
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 }
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); }
/* Card Layout Tests */ private async Task TestLayoutCard(Layout layout) { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var cardNew = CreateCardNewWithLayout(layout); cardNew.Position = 1; var createCardRequest = new CreateCardsRequest(new List <CardNew>() { cardNew }, assignmentId, AssignmentUtils.ROOT_SEQUENCE_ID); await SkyManager.ApiClient.ExecuteRequestAsync(createCardRequest); await AssignmentUtils.DeleteAssignment(assignmentId); //This is for code coverage Assert.NotNull(layout.ToString()); Assert.NotNull(layout.ToJson()); layout.SetDefaults(); }
public async Task TestPatchSequence() { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var sequencePatch = new SequencePatch(); sequencePatch.Add("viewMode", "gallery"); var patchSequenceRequest = new PatchSequenceRequest(sequencePatch, assignmentId, AssignmentUtils.ROOT_SEQUENCE_ID); await SkyManager.ApiClient.ExecuteRequestAsync(patchSequenceRequest); //TODO: If we wanted to do a full integration test, we could get the card and make sure the label has updated var getSequenceRequest = new GetSequenceRequest(assignmentId, AssignmentUtils.ROOT_SEQUENCE_ID); var getSequenceResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getSequenceRequest); var returnedSequence = getSequenceResponse.Content; Assert.Equal(SkyManager.IntegrationId, returnedSequence.UpdatedBy); Assert.NotNull(returnedSequence.Updated); await AssignmentUtils.DeleteAssignment(assignmentId); }
public async Task TestGetCards() { var assignment = CreateAssignmentNew(); assignment.AssignedTo = TestUserId; var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var resultLimit = 1; var getCardsRequest = new GetCardsRequest(); getCardsRequest.AddLimitQuery(resultLimit); getCardsRequest.AddPageQuery(0); getCardsRequest.AddSortQuery("created"); getCardsRequest.AddStartQuery(0); getCardsRequest.AddUserIdQuery(TestUserId); getCardsRequest.AddTypeQuery("default"); var getCardsResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getCardsRequest); Assert.InRange(getCardsResponse.Content.Cards.Count, 1, resultLimit); await AssignmentUtils.DeleteAssignment(assignmentId); }
public async Task TestPatchCard() { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var cardPatch = new CardPatch(); cardPatch.Add("label", "New Label"); var patchCardRequest = new PatchCardRequest(cardPatch, assignmentId, AssignmentUtils.ROOT_SEQUENCE_ID, CARD_ID); await SkyManager.ApiClient.ExecuteRequestAsync(patchCardRequest); //TODO: If we wanted to do a full integration test, we could get the card and make sure the label has updated var getCardRequest = new GetCardRequest(assignmentId, AssignmentUtils.ROOT_SEQUENCE_ID, CARD_ID); var getCardResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getCardRequest); var returnedCard = getCardResponse.Content; Assert.Equal(SkyManager.IntegrationId, returnedCard.UpdatedBy); Assert.NotNull(returnedCard.Updated); await AssignmentUtils.DeleteAssignment(assignmentId); }
public async Task TestGetAssignmentCards() { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var resultLimit = 1; var page = 0; var start = 0; var getAssignmentCardsRequest = new GetAssignmentCardsRequest(assignmentId); getAssignmentCardsRequest.AddArchivedQuery(false); getAssignmentCardsRequest.AddLimitQuery(resultLimit); getAssignmentCardsRequest.AddPageQuery(page); getAssignmentCardsRequest.AddSortQuery("created"); getAssignmentCardsRequest.AddStartQuery(start); getAssignmentCardsRequest.AddTypeQuery("default"); var getAssignmentCardsResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getAssignmentCardsRequest); PaginatedCardList cardList = getAssignmentCardsResponse.Content; Assert.True(cardList.Size.HasValue); Assert.InRange(cardList.Size.Value, 1, resultLimit); Assert.Equal(page, cardList.Page); Assert.Equal(start, cardList.Start); Assert.Equal(resultLimit, cardList.Limit); Assert.NotNull(cardList.UpdatedFrom); //Assert.NotNull(cardList.UpdatedTo); //TODO: figure out why this is null Assert.NotNull(cardList.ToString()); Assert.NotNull(cardList.ToJson()); cardList.SetDefaults();//This is purely for code coverage, this should not be used this way in practice await AssignmentUtils.DeleteAssignment(assignmentId); }
public async Task TestGetCard() { var assignment = CreateAssignmentNew(); var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var getCardRequest = new GetCardRequest(assignmentId, AssignmentUtils.ROOT_SEQUENCE_ID, CARD_ID); var getCardResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getCardRequest); var returnedCard = getCardResponse.Content; Assert.Equal(returnedCard.Id, CARD_ID); Assert.Equal(returnedCard.AssignmentId, assignmentId); Assert.Equal(returnedCard.CreatedBy, SkyManager.IntegrationId); Assert.NotNull(returnedCard.Created); Assert.NotNull(returnedCard.Footer); Assert.NotNull(returnedCard.Header); Assert.False(returnedCard.HideLabel); Assert.Equal(returnedCard.IntegrationId, SkyManager.IntegrationId); Assert.False(returnedCard.IsDone); Assert.False(returnedCard.Locked); Assert.False(returnedCard.Required); Assert.NotNull(returnedCard.Notes); Assert.NotNull(returnedCard.Label); Assert.NotNull(returnedCard.Revision); Assert.Equal(AssignmentUtils.ROOT_SEQUENCE_ID, returnedCard.SequenceId); Assert.Equal(1, returnedCard.Size); Assert.False(returnedCard.Subdued); Assert.Empty(returnedCard.Tags); Assert.NotNull(returnedCard.TemplateId); Assert.Equal(1, returnedCard.Position); Assert.False(returnedCard.Selectable); await AssignmentUtils.DeleteAssignment(assignmentId); }
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); }