예제 #1
0
        public virtual async void TestUpdate()
        {
            var builder = new WebHostBuilder()
                          .UseEnvironment("Production")
                          .UseStartup <TestStartup>();
            TestServer testServer = new TestServer(builder);

            var client = new ApiClient(testServer.CreateClient());

            client.SetBearerToken(JWTTestHelper.GenerateBearerToken());
            var mapper = new ApiClaspServerModelMapper();
            ApplicationDbContext        context = testServer.Host.Services.GetService(typeof(ApplicationDbContext)) as ApplicationDbContext;
            IClaspService               service = testServer.Host.Services.GetService(typeof(IClaspService)) as IClaspService;
            ApiClaspServerResponseModel model   = await service.Get(1);

            ApiClaspClientRequestModel request = mapper.MapServerResponseToClientRequest(model);

            request.SetProperties(1, 1);

            UpdateResponse <ApiClaspClientResponseModel> updateResponse = await client.ClaspUpdateAsync(model.Id, request);

            context.Entry(context.Set <Clasp>().ToList()[0]).Reload();
            updateResponse.Record.Should().NotBeNull();
            updateResponse.Success.Should().BeTrue();
            updateResponse.Record.Id.Should().Be(1);
            context.Set <Clasp>().ToList()[0].NextChainId.Should().Be(1);
            context.Set <Clasp>().ToList()[0].PreviousChainId.Should().Be(1);

            updateResponse.Record.Id.Should().Be(1);
            updateResponse.Record.NextChainId.Should().Be(1);
            updateResponse.Record.PreviousChainId.Should().Be(1);
        }
예제 #2
0
        public virtual async void TestDelete()
        {
            var builder = new WebHostBuilder()
                          .UseEnvironment("Production")
                          .UseStartup <TestStartup>();
            TestServer testServer = new TestServer(builder);
            var        client     = new ApiClient(testServer.CreateClient());

            client.SetBearerToken(JWTTestHelper.GenerateBearerToken());
            ApplicationDbContext context = testServer.Host.Services.GetService(typeof(ApplicationDbContext)) as ApplicationDbContext;

            IClaspService service = testServer.Host.Services.GetService(typeof(IClaspService)) as IClaspService;
            var           model   = new ApiClaspServerRequestModel();

            model.SetProperties(1, 1);
            CreateResponse <ApiClaspServerResponseModel> createdResponse = await service.Create(model);

            createdResponse.Success.Should().BeTrue();

            ActionResponse deleteResult = await client.ClaspDeleteAsync(2);

            deleteResult.Success.Should().BeTrue();
            ApiClaspServerResponseModel verifyResponse = await service.Get(2);

            verifyResponse.Should().BeNull();
        }
예제 #3
0
 public AbstractClaspController(
     ApiSettings settings,
     ILogger <AbstractClaspController> logger,
     ITransactionCoordinator transactionCoordinator,
     IClaspService claspService,
     IApiClaspModelMapper claspModelMapper
     )
     : base(settings, logger, transactionCoordinator)
 {
     this.ClaspService     = claspService;
     this.ClaspModelMapper = claspModelMapper;
 }
예제 #4
0
 public ClaspController(
     ApiSettings settings,
     ILogger <ClaspController> logger,
     ITransactionCoordinator transactionCoordinator,
     IClaspService claspService,
     IApiClaspServerModelMapper claspModelMapper
     )
     : base(settings, logger, transactionCoordinator)
 {
     this.ClaspService     = claspService;
     this.ClaspModelMapper = claspModelMapper;
     this.BulkInsertLimit  = 250;
     this.MaxLimit         = 1000;
     this.DefaultLimit     = 250;
 }