コード例 #1
0
        public async Task FoundId_Widget()
        {
            var service = TestUtility.CreateService(m_category);
            var widget  = InMemoryExampleApiRepository.SampleWidgets[0];

            (await service.DeleteWidgetAsync(id: widget.Id)).Should().BeSuccess(new DeleteWidgetResponseDto());
        }
コード例 #2
0
		public async Task BlankId_Null()
		{
			var service = TestUtility.CreateService(m_category);
			(await service.GetWidgetBatchAsync(new[] { "" })).Should().BeSuccess(
				new GetWidgetBatchResponseDto
				{
					Results = new[] { ServiceResult.Failure(ExampleApiErrors.CreateInvalidRequestMissingWidgetId()).Cast<WidgetDto>() }
				});
		}
コード例 #3
0
		public async Task NotFoundId_Null()
		{
			var service = TestUtility.CreateService(m_category);
			(await service.GetWidgetBatchAsync(new[] { "xyzzy" })).Should().BeSuccess(
				new GetWidgetBatchResponseDto
				{
					Results = new[] { ServiceResult.Failure(ExampleApiErrors.CreateNotFoundWidget("xyzzy")).Cast<WidgetDto>() }
				});
		}
コード例 #4
0
        public async Task EmptyWidget_Success()
        {
            var service   = TestUtility.CreateService(m_category);
            var widget    = new WidgetDto();
            var newWidget = (await service.CreateWidgetAsync(widget)).Value.Widget;

            newWidget.Id.Should().NotBeNull();
            widget = new WidgetDto(id: newWidget.Id, name: widget.Name);
            newWidget.Should().BeDto(widget);
        }
コード例 #5
0
		public async Task FoundId_Widget()
		{
			var service = TestUtility.CreateService(m_category);
			var widget = InMemoryExampleApiRepository.SampleWidgets[0];
			(await service.GetWidgetBatchAsync(new[] { widget.Id })).Should().BeSuccess(
				new GetWidgetBatchResponseDto
				{
					Results = new[] { ServiceResult.Success(widget) }
				});
		}
コード例 #6
0
        public async Task ReverseSortByName()
        {
            var service = TestUtility.CreateService(m_category);

            (await service.GetWidgetsAsync(limit: 2, sort: WidgetField.Name, desc: true)).Should().BeSuccess(
                new GetWidgetsResponseDto
            {
                Widgets = InMemoryExampleApiRepository.SampleWidgets.OrderByDescending(x => x.Name).Take(2).ToList(),
                Total   = InMemoryExampleApiRepository.SampleWidgets.Count,
            });
        }
コード例 #7
0
        public async Task NotFoundQuery_NoWidgets()
        {
            var service = TestUtility.CreateService(m_category);

            (await service.GetWidgetsAsync(query: "xyzzy")).Should().BeSuccess(
                new GetWidgetsResponseDto
            {
                Widgets = new WidgetDto[0],
                Total   = 0,
            });
        }
コード例 #8
0
        public async Task NullQuery_AllWidgets()
        {
            var service = TestUtility.CreateService(m_category);

            (await service.GetWidgetsAsync(query: null)).Should().BeSuccess(
                new GetWidgetsResponseDto
            {
                Widgets = InMemoryExampleApiRepository.SampleWidgets.OrderBy(x => x.Id).ToList(),
                Total   = InMemoryExampleApiRepository.SampleWidgets.Count,
            });
        }
コード例 #9
0
        public async Task FoundId_Widget()
        {
            var    service = TestUtility.CreateService(m_category);
            var    widget  = InMemoryExampleApiRepository.SampleWidgets[0];
            string eTag    = ExampleApiService.CreateWidgetETag(widget);

            (await service.GetWidgetAsync(id: widget.Id))
            .Should().BeSuccess(new GetWidgetResponseDto {
                Widget = widget, ETag = eTag
            });
        }
コード例 #10
0
        public async Task FoundQuery_Widgets()
        {
            var service = TestUtility.CreateService(m_category);
            var widgets = InMemoryExampleApiRepository.SampleWidgets.Where(x => x.Name.Contains("ey")).OrderBy(x => x.Id).ToList();

            (await service.GetWidgetsAsync(query: "ey")).Should().BeSuccess(
                new GetWidgetsResponseDto
            {
                Widgets = widgets,
                Total   = widgets.Count,
            });
        }
コード例 #11
0
        public async Task NoOp_Widget()
        {
            var service = TestUtility.CreateService(m_category);
            var widget  = InMemoryExampleApiRepository.SampleWidgets[0];

            (await service.EditWidgetAsync(new EditWidgetRequestDto {
                Id = widget.Id
            }, CancellationToken.None))
            .Should().BeSuccess(new EditWidgetResponseDto {
                Widget = widget
            });
        }
コード例 #12
0
        public async Task Modified_Widget()
        {
            var    service = TestUtility.CreateService(m_category);
            var    widget  = InMemoryExampleApiRepository.SampleWidgets[0];
            string eTag    = ExampleApiService.CreateWidgetETag(widget);

            (await service.GetWidgetAsync(new GetWidgetRequestDto {
                Id = widget.Id, IfNoneMatch = "\"xyzzy\""
            }, CancellationToken.None))
            .Should().BeSuccess(new GetWidgetResponseDto {
                Widget = widget, ETag = eTag
            });
        }
コード例 #13
0
        public async Task Op_Job()
        {
            var service = TestUtility.CreateService(m_category);
            var widget  = InMemoryExampleApiRepository.SampleWidgets[0];

            (await service.EditWidgetAsync(new EditWidgetRequestDto {
                Id = widget.Id, Ops = new[] { new JObject() }
            }, CancellationToken.None))
            .Should().BeSuccess(new EditWidgetResponseDto {
                Job = new WidgetJobDto {
                    Id = "TODO"
                }
            });
        }
コード例 #14
0
		public async Task MixedFoundAndNotFoundWidgets_WidgetsInOrder()
		{
			var service = TestUtility.CreateService(m_category);
			var widget1 = InMemoryExampleApiRepository.SampleWidgets[0];
			var widget2 = InMemoryExampleApiRepository.SampleWidgets[1];
			(await service.GetWidgetBatchAsync(new[] { widget2.Id, "xyzzy", widget1.Id })).Should().BeSuccess(
				new GetWidgetBatchResponseDto
				{
					Results = new[]
					{
						ServiceResult.Success(widget2),
						ServiceResult.Failure(ExampleApiErrors.CreateNotFoundWidget("xyzzy")).Cast<WidgetDto>(),
						ServiceResult.Success(widget1)
					}
				});
		}
コード例 #15
0
        public async Task BadIfNoneMatch()
        {
            var    service = TestUtility.CreateService(m_category);
            var    widget  = InMemoryExampleApiRepository.SampleWidgets[0];
            string eTag    = ExampleApiService.CreateWidgetETag(widget);
            var    result  = await service.GetWidgetAsync(new GetWidgetRequestDto { Id = widget.Id, IfNoneMatch = "xyzzy" }, CancellationToken.None);

            if (m_category == "InMemory")
            {
                result.Should().BeSuccess(new GetWidgetResponseDto {
                    Widget = widget, ETag = eTag
                });
            }
            else
            {
                result.Should().BeFailure(HttpServiceErrors.CreateHeaderInvalidFormat("If-None-Match"));
            }
        }
コード例 #16
0
ファイル: KitchenTests.cs プロジェクト: acivux/FacilityCSharp
        public async Task NotAdminErrorCode()
        {
            var service = TestUtility.CreateService(m_category);

            (await service.KitchenAsync(new KitchenRequestDto(), CancellationToken.None)).Should().BeFailure(ExampleApiErrors.NotAdmin);
        }
コード例 #17
0
        public async Task NullId_InvalidRequest()
        {
            var service = TestUtility.CreateService(m_category);

            (await service.GetWidgetAsync(id: null)).Should().BeFailure(ServiceErrors.InvalidRequest);
        }
コード例 #18
0
        public async Task BlankId_NotFound()
        {
            var service = TestUtility.CreateService(m_category);

            (await service.GetWidgetAsync(id: "")).Should().BeFailure(ServiceErrors.InvalidRequest);
        }
コード例 #19
0
        public async Task NotFoundId_NotFound()
        {
            var service = TestUtility.CreateService(m_category);

            (await service.GetWidgetAsync(id: "xyzzy")).Should().BeFailure(ExampleApiErrors.CreateNotFoundWidget("xyzzy"));
        }
コード例 #20
0
		public async Task EmptyIds_InvalidRequest()
		{
			var service = TestUtility.CreateService(m_category);
			(await service.GetWidgetBatchAsync(ids: new string[0])).Should().BeFailure(ExampleApiErrors.CreateInvalidRequestMissingWidgetIds());
		}
コード例 #21
0
		public async Task MissingIds_InvalidRequest()
		{
			var service = TestUtility.CreateService(m_category);
			(await service.GetWidgetBatchAsync(ids: null)).Should().BeFailure(ServiceErrors.CreateRequestFieldRequired("ids"));
		}
コード例 #22
0
		public void NullRequest_ThrowsArgumentNullException()
		{
			var service = TestUtility.CreateService(m_category);
			Assert.ThrowsAsync<ArgumentNullException>(async () => await service.GetWidgetBatchAsync(default(GetWidgetBatchRequestDto), CancellationToken.None));
		}
コード例 #23
0
        public async Task NullId_InvalidRequest()
        {
            var service = TestUtility.CreateService(m_category);

            (await service.NotRestfulAsync(new NotRestfulRequestDto(), CancellationToken.None)).Should().BeFailure(ServiceErrors.NotFound);
        }
コード例 #24
0
        public async Task MissingWidget_BadRequest()
        {
            var service = TestUtility.CreateService(m_category);

            (await service.CreateWidgetAsync(widget: null)).Should().BeFailure(ServiceErrors.CreateRequestFieldRequired("widget"));
        }