public void Post_Status201() { // arrange var viewModel = new CobrancaViewModel() { Cpf = "325.541.398-22", Valor = 12343, Vencimento = DateTime.Today }; var clienteModel = new ClienteModel { Cpf = 32554139822, Estado = "SP", Id = 1, Nome = "Paulo" }; var cobrancaModel = new CobrancaModel { Cliente = clienteModel, Id = 1, Valor = viewModel.Valor, Vencimento = viewModel.Vencimento }; _clienteRepository.Setup(x => x.Get(It.IsAny <long>())).Returns(clienteModel); _cobrancaRepository.Setup(x => x.Add(It.IsAny <CobrancaModel>())).Returns(cobrancaModel); // act var result = _controller.Post(viewModel); // assert _cobrancaRepository.Verify(x => x.Add(It.Is <CobrancaModel>(y => y.Vencimento == viewModel.Vencimento && y.Valor == viewModel.Valor && y.Cliente.Cpf == clienteModel.Cpf)), Times.Once); Assert.IsType <CreatedAtActionResult>(result.Result); var convertedResult = (CreatedAtActionResult)result.Result; Assert.Equal(StatusCodes.Status201Created, convertedResult.StatusCode); Assert.Equal(viewModel.Cpf, ((CobrancaViewModel)convertedResult.Value).Cpf); Assert.Equal(viewModel.Valor, ((CobrancaViewModel)convertedResult.Value).Valor); Assert.Equal(viewModel.Vencimento, ((CobrancaViewModel)convertedResult.Value).Vencimento); }
public void Get_Status200() { // arrange var model = new CobrancaModel { Id = 1, Valor = 123, Vencimento = DateTime.Today, Cliente = new ClienteModel { Cpf = 32554139822 } }; _cobrancaRepository.Setup(x => x.Get(It.IsAny <int>())).Returns(model); // act var result = _controller.Get(1); // assert var convertedResult = result.Result as OkObjectResult; Assert.Equal(model.Valor, (convertedResult.Value as CobrancaViewModel).Valor); Assert.Equal(model.Vencimento, (convertedResult.Value as CobrancaViewModel).Vencimento); Assert.Equal(model.Id, (convertedResult.Value as CobrancaViewModel).Id); Assert.Equal(model.Cliente.Cpf, Convert.ToInt64((convertedResult.Value as CobrancaViewModel).Cpf)); }
public async Task Get() { // arrange var cliente = new ClienteModel { Cpf = 32554139822, Estado = "SP", Nome = "Paulo" }; _database.GetCollection <ClienteModel>("clientes").Insert(cliente); var cobranca = new CobrancaModel { Cliente = cliente, Valor = 123, Vencimento = DateTime.Today }; _database.GetCollection <CobrancaModel>("cobrancas").Insert(cobranca); // act var response = await _client.GetAsync($"{_address}/1"); // assert response.EnsureSuccessStatusCode(); var result = JsonConvert.DeserializeObject <CobrancaViewModel>(await response.Content.ReadAsStringAsync()); Assert.Equal(1, result.Id); Assert.Equal(cobranca.Valor, result.Valor); Assert.Equal(cobranca.Vencimento, result.Vencimento); Assert.Equal(cobranca.Cliente.Cpf.ToString(), result.Cpf); }
public async Task Filter(string cpf, int?refMes, int expectedQuant) { // arrange var cliente1 = new ClienteModel { Cpf = 32554139822, Nome = "teste1", Estado = "SP1" }; var cliente2 = new ClienteModel { Cpf = 27184826809, Nome = "teste2", Estado = "SP2" }; _database.GetCollection <ClienteModel>("clientes").Insert(cliente1); _database.GetCollection <ClienteModel>("clientes").Insert(cliente2); var cobranca1 = new CobrancaModel { Cliente = cliente1, Valor = 1, Vencimento = new DateTime(2010, 1, 1) }; var cobranca2 = new CobrancaModel { Cliente = cliente1, Valor = 1, Vencimento = new DateTime(2010, 2, 1) }; var cobranca3 = new CobrancaModel { Cliente = cliente2, Valor = 1, Vencimento = new DateTime(2010, 1, 1) }; var cobranca4 = new CobrancaModel { Cliente = cliente2, Valor = 1, Vencimento = new DateTime(2010, 2, 1) }; _database.GetCollection <CobrancaModel>("cobrancas").InsertBulk(new List <CobrancaModel> { cobranca1, cobranca2, cobranca3, cobranca4 }); // act var response = await _client.GetAsync($"{_address}/filter?cpf={cpf}&refMes={refMes}"); // assert response.EnsureSuccessStatusCode(); var result = JsonConvert.DeserializeObject <IEnumerable <CobrancaViewModel> >(await response.Content.ReadAsStringAsync()); Assert.Equal(expectedQuant, result.Count()); }
public ActionResult <CobrancaViewModel> Post([FromBody] CobrancaViewModel viewModel) { try { if (string.IsNullOrWhiteSpace(viewModel.Cpf) || viewModel.Cpf.ToValidCpf() == -1) { return(BadRequest("CPF Inválido!")); } if (viewModel.Valor <= 0) { return(BadRequest("Valor inválido de cobrança!")); } var cliente = _clienteRepository.Get(viewModel.Cpf.ToValidCpf()); if (cliente == null) { return(BadRequest("CPF não foi cadastrado!")); } var model = new CobrancaModel { Vencimento = viewModel.Vencimento, Valor = viewModel.Valor, Cliente = cliente }; model = _cobrancaRepository.Add(model); viewModel.Id = model.Id; viewModel.Cpf = model.Cliente.Cpf.ToString(); return(CreatedAtAction(nameof(Get), new { Id = viewModel.Id }, viewModel)); } catch { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } }
public IActionResult GerarCobranca() { Result result = new Result(); CobrancaModel cobrancaModel = new CobrancaModel(); DateTime dataTeste = DateTime.Now.AddDays(30); try { ClienteModel clienteModel = new ClienteModel(); List <Cliente> todosClientes = clienteModel.BuscarClientes(); cobrancaModel.GerarCobranca(todosClientes, DateTime.Parse(dataTeste.ToShortDateString())); } catch (Exception ex) { result.Sucesso = false; result.ErrorMessage = "Erro ao tentar gerar cobrancas: " + ex.Message; } ViewBag.Relatorio = cobrancaModel.GerarRelatorioCobranca(); return(Ok()); }
public CobrancaModel Add(CobrancaModel model) { _cobrancas.Insert(model); return(model); }