Exemple #1
0
        public static Scenario BuildUserCreationScenario(Configuration conf)
        {
            var positions = new PositionsApi(conf).Get().Records;

            var getFilteredUsersStep = Step.CreateAction("Create user", ConnectionPool.None, async x =>
            {
                var position      = new Random().Next(1, positions.Count - 1);
                var positionToPut = positions.ElementAt(position);

                var age = new Random().Next(20, 60);
                var exp = new Random().Next(1, 20);

                var response = await new UsersApi(conf).PutUserAsyncWithHttpInfo(new CreationUserModel
                {
                    DisplayName         = Guid.NewGuid().ToString(),
                    BirthDate           = DateTime.Now.AddYears(-age).ToString("yyyy-MM-dd"),
                    WorkPeriodStartDate = DateTime.Now.AddYears(-exp).ToString("yyyy-MM-dd"),
                    PositionId          = positionToPut.Id.ToString()
                });

                return(response.Data.IsSuccess == true ? Response.Ok() : Response.Fail());
            });

            return(ScenarioBuilder.CreateScenario("Create User Scenario", getFilteredUsersStep));
        }
Exemple #2
0
        public void UserCreationTest()
        {
            const string position = "General";

            var needPosition = new PositionsApi(_conf).Get().Records.Find(x => x.Name == position);

            var user = new CreationUserModel
            {
                DisplayName         = Guid.NewGuid().ToString(),
                BirthDate           = new DateTime(1993, 09, 07).ToString("yyyy-MM-dd"),
                PositionId          = needPosition.Id.ToString(),
                WorkPeriodStartDate = DateTime.Now.Date.AddDays(-5).ToString("yyyy-MM-dd")
            };

            var responseModelUser = new UsersApi(_conf).PutUser(user);

            responseModelUser.ShouldSatisfyAllConditions(
                () => responseModelUser.IsSuccess.GetValueOrDefault().ShouldBeTrue(),
                () => responseModelUser.Errors.ShouldBeNull(),
                () => responseModelUser.Result.ShouldBeOfType(typeof(User))
                );

            new UsersApi(_conf).GetFilteredUsers(new RequestUsersModel()).Records.ShouldContain(x =>
                                                                                                x.DisplayName == user.DisplayName && x.Id == responseModelUser.Result.Id);
        }
Exemple #3
0
        public static Scenario BuildUsersFilterScenario(Configuration conf)
        {
            var positions            = new PositionsApi(conf).Get().Records;
            var getFilteredUsersStep = Step.CreateAction("Get filtered Users", ConnectionPool.None, async x =>
            {
                var positionsCount = new Random().Next(1, 5);
                var positionsToPut = positions.GetRange(0, positionsCount);
                var minAgeFilter   = new Random().Next(20, 60);
                var maxAgeFilter   = new Random().Next(minAgeFilter, 60);
                var minExpFilter   = new Random().Next(1, 20);
                var maxExpFilter   = new Random().Next(minExpFilter, 20);
                var filteredUsers  = await new UsersApi(conf).GetFilteredUsersAsyncWithHttpInfo(new RequestUsersModel
                {
                    WorkingExperience = new MinMaxValueRequestModel
                    {
                        MinValue = minExpFilter,
                        MaxValue = maxExpFilter
                    },
                    Age = new MinMaxValueRequestModel
                    {
                        MinValue = minAgeFilter,
                        MaxValue = maxAgeFilter
                    },
                    Positions = positionsToPut.Select(i => i.Id).ToList()
                });

                return(filteredUsers.StatusCode == 200 ? Response.Ok() : Response.Fail());
            });

            return(ScenarioBuilder.CreateScenario("Get Filtered Users Scenario", getFilteredUsersStep));
        }
Exemple #4
0
        public void MultipleFiltersTest()
        {
            const int minAgeValue      = 25;
            const int maxAgeValue      = 30;
            const int minExperienceAge = 4;
            const int maxExperienceAge = 19;
            var       positions        = new List <string>
            {
                "General",
                "Doctor"
            };

            var needPositions = new PositionsApi(_conf).Get().Records.Where(x => positions.Contains(x.Name)).ToList();
            var filteredUsers = new UsersApi(_conf).GetFilteredUsers(new RequestUsersModel
            {
                WorkingExperience = new MinMaxValueRequestModel
                {
                    MinValue = minExperienceAge,
                    MaxValue = maxExperienceAge
                },
                Age = new MinMaxValueRequestModel
                {
                    MinValue = minAgeValue,
                    MaxValue = maxAgeValue
                },
                Positions = needPositions.Select(x => x.Id).ToList()
            }).Records;

            filteredUsers.ShouldSatisfyAllConditions(
                () => filteredUsers.Count.ShouldNotBe(0),
                () => filteredUsers.Select(x => x.WorkPeriodStartDate)
                .All(x => GetYearsFromToday(x.Value) <= maxExperienceAge)
                .ShouldBeTrue(),
                () => filteredUsers.Select(x => x.WorkPeriodStartDate)
                .All(x => GetYearsFromToday(x.Value) >= minExperienceAge)
                .ShouldBeTrue(),
                () => filteredUsers.Select(x => x.WorkPeriodStartDate)
                .All(x => GetYearsFromToday(x.Value) <= maxExperienceAge)
                .ShouldBeTrue(),
                () => filteredUsers.Select(x => x.WorkPeriodStartDate)
                .All(x => GetYearsFromToday(x.Value) >= minExperienceAge)
                .ShouldBeTrue(),
                () => filteredUsers.Select(x => x.Position.Name).ShouldBeSubsetOf(needPositions.Select(x => x.Name)),
                () => filteredUsers.Select(x => x.Position.Id).ShouldBeSubsetOf(needPositions.Select(x => x.Id))
                );
        }
Exemple #5
0
        public void UserDeletionTest()
        {
            const string position = "General";

            var needPosition = new PositionsApi(_conf).Get().Records.Find(x => x.Name == position);

            var user = new CreationUserModel
            {
                DisplayName         = Guid.NewGuid().ToString(),
                BirthDate           = new DateTime(1993, 09, 07).ToString("yyyy-MM-dd"),
                PositionId          = needPosition.Id.ToString(),
                WorkPeriodStartDate = DateTime.Now.Date.AddDays(-5).ToString("yyyy-MM-dd")
            };
            var responseModelUser = new UsersApi(_conf).PutUser(user);

            new UsersApi(_conf).DeleteUser(responseModelUser.Result.Id);
        }
Exemple #6
0
        public void FilteringByPositionsTest()
        {
            var positions = new List <string>
            {
                "General",
                "Doctor"
            };

            var needPositions = new PositionsApi(_conf).Get().Records.Where(x => positions.Contains(x.Name)).ToList();
            var filteredUsers = new UsersApi(_conf).GetFilteredUsers(new RequestUsersModel
            {
                Positions = needPositions.Select(x => x.Id).ToList()
            }).Records;

            filteredUsers.ShouldSatisfyAllConditions(
                () => filteredUsers.Count.ShouldNotBe(0),
                () => filteredUsers.Select(x => x.Position.Name).ShouldBeSubsetOf(needPositions.Select(x => x.Name)),
                () => filteredUsers.Select(x => x.Position.Id).ShouldBeSubsetOf(needPositions.Select(x => x.Id))
                );
        }
Exemple #7
0
        public static void ShowAccountActivities(Account account)
        {
            Log.Write($"ShowAccountActivities for {account.Name} account");
            var accountingApi = new AccountingApi();

            foreach (var cashBalance in accountingApi.GetOwnedCashBalances(account.Id))
            {
                Log.Write(cashBalance);
            }
            var marginSnapshot = accountingApi.GetMarginSnapshot(account.Id);

            Log.Write(marginSnapshot);
            var balanceSnapshot = accountingApi.GetCashBalanceSnapshot(new GetCashBalanceSnapshot(account.Id));

            Log.Write(balanceSnapshot);
            var ordersApi = new OrdersApi();
            var orders    = ordersApi.GetOwnedOrders(account.Id);

            foreach (var order in orders)
            {
                Log.Write(order);
            }
            var accountOrders = orders.ToDictionary(x => x.Id);
            var fills         = ordersApi.GetAllFills().Where(fill => accountOrders.ContainsKey(fill.OrderId));

            foreach (var fill in fills)
            {
                Log.Write(fill);
            }
            var positionsApi = new PositionsApi();

            foreach (var position in positionsApi.GetOwnedPositions(account.Id))
            {
                Log.Write(position);
            }
        }
Exemple #8
0
 public PositionsApiTests()
 {
     instance = new PositionsApi();
 }
Exemple #9
0
 public void Init()
 {
     instance = new PositionsApi();
 }