예제 #1
0
        public async Task can_get_many_statements_without_attachments()
        {
            // Arrange
            var request = new GetStatementsRequest()
            {
                Agent = new Agent()
                {
                    Name = AGENT_NAME,
                    MBox = new Uri(AGENT_MBOX)
                },
                Verb              = new Uri(VERB),
                ActivityId        = new Uri(ACTIVITY_ID),
                Registration      = REGISTRATION,
                RelatedActivities = true,
                RelatedAgents     = true,
                Since             = DateTimeOffset.Parse(SINCE),
                Until             = DateTimeOffset.Parse(UNTIL),
                Limit             = LIMIT,
                Format            = StatementFormat.Canonical,
                Attachments       = false,
                Ascending         = true
            };

            this._mockHttp
            .When(HttpMethod.Get, this.GetApiUrl("statements"))
            .WithQueryString("agent", AGENT_QS)
            .WithQueryString("verb", VERB)
            .WithQueryString("activity", ACTIVITY_ID)
            .WithQueryString("registration", REGISTRATION.ToString())
            .WithQueryString("related_activities", "true")
            .WithQueryString("related_agents", "true")
            .WithQueryString("since", SINCE)
            .WithQueryString("until", UNTIL)
            .WithQueryString("limit", LIMIT.ToString())
            .WithQueryString("format", "canonical")
            .WithQueryString("ascending", "true")
            .WithHeaders("Accept-Language", "*")
            .Respond(this.GetStatementsResponseMessage());

            // Act
            StatementResult result = await this._client.Statements.GetMany(request);

            // Assert
            result.Should().NotBeNull();
            result.Statements.Should().NotBeNullOrEmpty();
            result.More.Should().Be(new Uri(MORE, UriKind.Relative));
            result.ConsistentThrough.Should().Be(DateTimeOffset.Parse(XAPI_CONSISTENT_THROUGH_VALUE));
        }
예제 #2
0
        public async Task can_get_more_statements()
        {
            // Arrange
            var more            = new Uri(MORE, UriKind.Relative);
            var endpointUrl     = new Uri(ENDPOINT_URI);
            var hostUrl         = new Uri(endpointUrl.GetLeftPart(UriPartial.Authority));
            var moreAbsoluteUrl = new Uri(hostUrl, more);

            this._mockHttp
            .When(HttpMethod.Get, moreAbsoluteUrl.ToString())
            .Respond(this.GetStatementsResponseMessage());

            // Act
            StatementResult result = await this._client.Statements.GetMore(more);

            // Assert
            result.Should().NotBeNull();
            result.Statements.Should().NotBeNullOrEmpty();
            result.ConsistentThrough.Should().Be(DateTimeOffset.Parse(XAPI_CONSISTENT_THROUGH_VALUE));
        }