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)); }
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); }
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)); }
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)) ); }
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); }
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)) ); }
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); } }
public PositionsApiTests() { instance = new PositionsApi(); }
public void Init() { instance = new PositionsApi(); }