public virtual async void TestBulkInsert()
        {
            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;

            var model = new ApiProvinceClientRequestModel();

            model.SetProperties(1, "B");
            var model2 = new ApiProvinceClientRequestModel();

            model2.SetProperties(1, "C");
            var request = new List <ApiProvinceClientRequestModel>()
            {
                model, model2
            };
            CreateResponse <List <ApiProvinceClientResponseModel> > result = await client.ProvinceBulkInsertAsync(request);

            result.Success.Should().BeTrue();
            result.Record.Should().NotBeNull();

            context.Set <Province>().ToList()[1].CountryId.Should().Be(1);
            context.Set <Province>().ToList()[1].Name.Should().Be("B");

            context.Set <Province>().ToList()[2].CountryId.Should().Be(1);
            context.Set <Province>().ToList()[2].Name.Should().Be("C");
        }
        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 ApiProvinceServerModelMapper();
            ApplicationDbContext           context = testServer.Host.Services.GetService(typeof(ApplicationDbContext)) as ApplicationDbContext;
            IProvinceService               service = testServer.Host.Services.GetService(typeof(IProvinceService)) as IProvinceService;
            ApiProvinceServerResponseModel model   = await service.Get(1);

            ApiProvinceClientRequestModel request = mapper.MapServerResponseToClientRequest(model);

            request.SetProperties(1, "B");

            UpdateResponse <ApiProvinceClientResponseModel> updateResponse = await client.ProvinceUpdateAsync(model.Id, request);

            context.Entry(context.Set <Province>().ToList()[0]).Reload();
            updateResponse.Record.Should().NotBeNull();
            updateResponse.Success.Should().BeTrue();
            updateResponse.Record.Id.Should().Be(1);
            context.Set <Province>().ToList()[0].CountryId.Should().Be(1);
            context.Set <Province>().ToList()[0].Name.Should().Be("B");

            updateResponse.Record.Id.Should().Be(1);
            updateResponse.Record.CountryId.Should().Be(1);
            updateResponse.Record.Name.Should().Be("B");
        }
        public virtual ApiProvinceClientRequestModel MapServerResponseToClientRequest(
            ApiProvinceServerResponseModel response)
        {
            var request = new ApiProvinceClientRequestModel();

            request.SetProperties(
                response.CountryId,
                response.Name);
            return(request);
        }
        public void MapClientResponseToRequest()
        {
            var mapper = new ApiProvinceModelMapper();
            var model  = new ApiProvinceClientResponseModel();

            model.SetProperties(1, 1, "A");
            ApiProvinceClientRequestModel response = mapper.MapClientResponseToRequest(model);

            response.Should().NotBeNull();
            response.CountryId.Should().Be(1);
            response.Name.Should().Be("A");
        }