private AddChargeAction GivenAnAddChargeActionMock() { AddChargeAction action = Substitute.For <AddChargeAction>(null, null); ActionsFactoryMock.CreateAddChargeAction(action); return(action); }
public async Task given_data_for_add_new_charge_we_obtein_an_ok_response() { var requestUri = "http://localhost:10000/api/charges"; var content = GivenAHttpContent(newCharge, requestUri); AddChargeAction action = GivenAnAddChargeActionMock(); action.Execute(Arg.Any <Business.Dtos.Charge>()).Returns(new ChargeResponseOK()); var result = await client.PostAsync(requestUri, content); await verifyResult(newCharge, action, result); }
public async Task given_data_for_add_new_charge_and_have_any_problem_we_obtein_bad_request() { var requestUri = "http://localhost:10000/api/charges"; var content = GivenAHttpContent(newCharge, requestUri); AddChargeAction action = GivenAnAddChargeActionMock(); action.Execute(Arg.Any <Business.Dtos.Charge>()).Throws(new ChargesException("any message exception")); var result = await client.PostAsync(requestUri, content); result.StatusCode.Should().Be(HttpStatusCode.BadRequest); ChargeResponseKO response = JsonConvert.DeserializeObject <ChargeResponseKO>(result.Content.ReadAsStringAsync().GetAwaiter().GetResult()); response.Message.Should().Be("any message exception"); await action.Received(1).Execute(Arg.Is <Business.Dtos.Charge>(item => item.identifier == newCharge.identifier && item.Amount == newCharge.Amount && item.Description == newCharge.Description)); }
public async Task should_return_charge_already_exist_when_try_add_charge_with_exist_identifier() { var addResult = true; Business.Dtos.Charge newCharge = GivenACharge(); ActivityDto activityDto = GivenAnActivity(newCharge.identifier, addResult); ChargeActivityServiceApiClient clientActivityService = GivenAMockActivityServiceClient(activityDto); var addChargeAction = new AddChargeAction(clientChargeRepository, clientActivityService); clientChargeRepository.Get(newCharge.identifier).Returns(new ChargeAlreadyExist()); var result = await addChargeAction.Execute(newCharge); result.Should().BeOfType <ChargeAlreadyExist>(); clientChargeRepository.Received(1).Get(newCharge.identifier); }
public async Task given_data_for_add_new_charge_we_obtein_a_true_response() { Business.Dtos.Charge newCharge = GivenACharge(); var addResult = true; clientChargeRepository.AddCharge(newCharge).Returns(new ChargeResponseOK()); ActivityDto activityDto = GivenAnActivity(newCharge.identifier, addResult); ChargeActivityServiceApiClient clientActivityService = GivenAMockActivityServiceClient(activityDto); clientActivityService.NotifyNewCharge(Arg.Any <ActivityDto>()).Returns(true);; clientActivityService.UpdateNotifyCharge(Arg.Any <ActivityDto>()).Returns(true);; var addChargeAction = new AddChargeAction(clientChargeRepository, clientActivityService); var result = await addChargeAction.Execute(newCharge); await VerifyResult(newCharge, activityDto, clientActivityService, result); }
public static void CreateAddChargeAction(AddChargeAction action) { Instance.CreateAddChargeAction().Returns(action); }
private static async Task verifyResult(Business.Dtos.Charge newCharge, AddChargeAction action, HttpResponseMessage result) { result.StatusCode.Should().Be(HttpStatusCode.OK); await action.Received(1).Execute(Arg.Is <Business.Dtos.Charge>(item => item.identifier == newCharge.identifier && item.Amount == newCharge.Amount && item.Description == newCharge.Description)); }