public static void AssertEqual(LimitV1 expectedLimit, LimitV1 actualLimit) { Assert.Equal(expectedLimit.Id, actualLimit.Id); Assert.Equal(expectedLimit.UserId, actualLimit.UserId); Assert.Equal(expectedLimit.Limit, actualLimit.Limit); Assert.Equal(expectedLimit.AmountUsed, actualLimit.AmountUsed); }
public async Task <LimitV1> UpdateLimitAsync(string correlationId, LimitV1 limit) { var timing = Instrument(correlationId, "limits.update_limit"); var result = await _controller.UpdateLimitAsync(correlationId, limit); timing.EndTiming(); return(result); }
public async Task <LimitV1> UpdateLimitAsync(string correlationId, LimitV1 limit) { if (string.IsNullOrEmpty(limit.UserId)) { return(null); } return(await this._persistence.UpdateAsync(correlationId, limit)); }
public async Task <LimitV1> UpdateLimitAsync(string correlationId, LimitV1 limit) { return(await CallCommandAsync <LimitV1>( "update_limit", correlationId, new { limit = limit } )); }
public async Task <LimitV1> CreateLimitAsync(string correlationId, LimitV1 limit) { if (string.IsNullOrEmpty(limit.UserId)) { return(null); } limit.Id = limit.Id ?? IdGenerator.NextLong(); var result = await this._persistence.CreateAsync(correlationId, limit); return(result); }
/*--------------------Interface's methods--------------------*/ public async Task <LimitV1> CreateAsync(string correlationId, LimitV1 limit) { var result = await base.CreateAsync(correlationId, FromPublic(limit)); return(ToPublic(result)); }
private static LimitsMongoDbSchema FromPublic(LimitV1 value) { return(ObjectMapper.MapTo <LimitsMongoDbSchema>(value)); }
public async Task It_Should_Do_All_Operations() { LimitV1 expectedLimit1 = TestModel.CreateLimit1(); LimitV1 limit1 = await Invoke <LimitV1>("create_limit", new { limit = expectedLimit1 }); TestModel.AssertEqual(expectedLimit1, limit1); var expectedLimit2 = TestModel.CreateLimit2(); var limit2 = await Invoke <LimitV1>("create_limit", new { limit = expectedLimit2 }); TestModel.AssertEqual(expectedLimit2, limit2); var expectedLimit3 = TestModel.CreateLimit3(); var limit3 = await Invoke <LimitV1>("create_limit", new { limit = expectedLimit3 }); TestModel.AssertEqual(expectedLimit3, limit3); var page = await Invoke <DataPage <LimitV1> >("get_limits", new { }); Assert.NotNull(page); Assert.Equal(3, page.Data.Count); limit1.AmountUsed = limit1.Limit / 2; var limit = await Invoke <LimitV1>("update_limit", new { limit = limit1 }); TestModel.AssertEqual(limit1, limit); limit = await Invoke <LimitV1>("get_limit_by_id", new { id = limit1.Id }); TestModel.AssertEqual(limit1, limit); limit = await Invoke <LimitV1>("get_limit_by_user_id", new { user_id = limit1.UserId }); TestModel.AssertEqual(limit1, limit); limit = await Invoke <LimitV1>("decrease_limit_of_user", new { decrease_by = limit1.Limit / 2, user_id = limit1.UserId }); limit1.Limit -= limit1.Limit / 2; TestModel.AssertEqual(limit1, limit); limit = await Invoke <LimitV1>("increase_limit_of_user", new { increase_by = limit1.Limit / 2, user_id = limit1.UserId }); limit1.Limit += limit1.Limit / 2; TestModel.AssertEqual(limit1, limit); limit = await Invoke <LimitV1>("decrease_amount_used_by_user", new { decrease_by = limit1.AmountUsed / 2, user_id = limit1.UserId }); limit1.AmountUsed -= limit1.AmountUsed / 2; TestModel.AssertEqual(limit1, limit); limit = await Invoke <LimitV1>("increase_amount_used_by_user", new { increase_by = limit1.AmountUsed / 2, user_id = limit1.UserId }); limit1.AmountUsed += limit1.AmountUsed / 2; TestModel.AssertEqual(limit1, limit); var amountAvailable = await Invoke <ResultV1>("get_amount_available_to_user", new { user_id = limit1.UserId }); Assert.Equal(amountAvailable.longResult, limit1.Limit - limit1.AmountUsed); var isIncreasable = await Invoke <ResultV1>("can_user_add_amount", new { user_id = limit1.UserId, amount = limit1.Limit }); Assert.False(isIncreasable.boolResult); isIncreasable = await Invoke <ResultV1>("can_user_add_amount", new { user_id = limit1.UserId, amount = amountAvailable.longResult }); Assert.True(isIncreasable.boolResult); //Delete all limit = await Invoke <LimitV1>("delete_limit_by_id", new { id = limit1.Id }); Assert.NotNull(limit); Assert.Equal(limit1.Id, limit.Id); limit = await Invoke <LimitV1>("get_limit_by_id", new { id = limit1.Id }); Assert.Null(limit); limit = await Invoke <LimitV1>("delete_limit_by_id", new { id = limit2.Id }); Assert.NotNull(limit); Assert.Equal(limit2.Id, limit.Id); limit = await Invoke <LimitV1>("get_limit_by_id", new { id = limit2.Id }); Assert.Null(limit); limit = await Invoke <LimitV1>("delete_limit_by_id", new { id = limit3.Id }); Assert.NotNull(limit); Assert.Equal(limit3.Id, limit.Id); limit = await Invoke <LimitV1>("get_limit_by_id", new { id = limit3.Id }); Assert.Null(limit); }
public Task <LimitV1> UpdateLimitAsync(string correlationId, LimitV1 limit) { return(null); }