public async Task <IActionResult> Post([FromServices] CadastrarEmpresaPresenter presenter, [FromServices] CadastrarEmpresaCasoDeUso casoDeUso, [FromBody] CadastrarEmpresaRequest request) { var input = new CadastrarEmpresaInput(request.UF, request.NomeFantasia, request.CNPJ); await casoDeUso.Execute(input); return(presenter.ViewModel); }
public async Task Deve_Adicionar_Notificacao_Se_CNPJ_Ja_Cadastrado() { var input = new CadastrarEmpresaInput("any_uf", "any_empresa", "33.194.965/0001-11"); var sut = CriarSUT(); _empresaRepositorioMock.Setup(rep => rep.EmpresaJaCadastrada(new Domain.Common.ValueObjects.CNPJ(input.CNPJ))).ReturnsAsync(true); await sut.Execute(input); _empresaPresenterMock.Verify(presenter => presenter.AddNotification("CNPJ já cadastrado"), Times.Once()); }
public async Task Deve_Adicionar_CadastrarEmpresaOutput_Corretamente_Se_Empresa_Cadastrada_Com_Sucesso() { var input = new CadastrarEmpresaInput("any_uf", "any_empresa", "33.194.965/0001-11"); var empresa = _empresaFactory.NovaEmpresa(input.UF, input.NomeFantasia, input.CNPJ); _empresaFactoryMock.Setup(f => f.NovaEmpresa(input.UF, input.NomeFantasia, input.CNPJ)).Returns(empresa); CadastrarEmpresaOutput result = null; _empresaPresenterMock.Setup(presenter => presenter.AddResult(It.IsAny <CadastrarEmpresaOutput>())) .Callback((CadastrarEmpresaOutput r) => result = r); var sut = CriarSUT(empresaFactoryMock: _empresaFactoryMock); await sut.Execute(input); Assert.Equal(empresa.Id, result?.Id); Assert.Equal(empresa.UF, result?.UF); Assert.Equal(empresa.NomeFantasia, result?.NomeFantasia); Assert.Equal(empresa.CNPJ.ToString(), result?.CNPJ); }