public async Task Get_deverá_retornar_todos_as_empresas() { //Arrange var repo = new EmpresaRepositorioStub(); var controller = new EmpresasController(repo); //Action var result = await controller.Get() as OkNegotiatedContentResult <List <Empresa> >; //Assert Assert.IsNotNull(result); Assert.AreEqual(repo.Todos().Count(), result.Content.Count); controller.Dispose(); repo.Dispose(); }
public async Task Get_com_id_inexistente_deverá_retornar_NOTFOUND() { //Arrange var id = 4; var repo = new EmpresaRepositorioStub(); var controller = new EmpresasController(repo); //Action var result = await controller.Get(id) as NotFoundResult; //Assert Assert.IsNotNull(result); controller.Dispose(); repo.Dispose(); }
public async Task Get_com_id_deverá_retornar_a_empresa_desejada() { //Arrange var id = 1; var repo = new EmpresaRepositorioStub(); var controller = new EmpresasController(repo); //Action var result = await controller.Get(id) as OkNegotiatedContentResult <Empresa>; //Assert Assert.IsNotNull(result); Assert.AreEqual(repo.ObterPorId(id), result.Content); controller.Dispose(); repo.Dispose(); }
public async Task Post_deverá_falhar_qdo_a_empresa_for_nulo() { //Arrange Empresa empresa = null; var repo = new EmpresaRepositorioStub(); var controller = new EmpresasController(repo); //Action var result = await controller.Post(empresa) as BadRequestErrorMessageResult; //Assert Assert.IsNotNull(result); Assert.AreEqual("Empresa não pode ser nula", result.Message); controller.Dispose(); repo.Dispose(); }
public async Task Put_deverá_falhar_qdo_o_param_id_for_diferente_da_empresa_id() { //Arrange var id = 1; var repo = new EmpresaRepositorioStub(); var empresa = repo.ObterPorId(3); var controller = new EmpresasController(repo); //Action var result = await controller.Put(id, empresa) as BadRequestErrorMessageResult; //Assert Assert.IsNotNull(result); Assert.AreEqual("Os id's não conferem", result.Message); controller.Dispose(); repo.Dispose(); }
public async Task Post_deverá_falhar_qdo_a_empresa_já_possuir_um_Id() { //Arrange var empresa = new Empresa { Id = 1, Nome = "Nova Empresa", CNPJ = "12345000199" }; var repo = new EmpresaRepositorioStub(); var controller = new EmpresasController(repo); //Action var result = await controller.Post(empresa) as BadRequestErrorMessageResult; //Assert Assert.IsNotNull(result); Assert.AreEqual("Id da empresa inválido", result.Message); controller.Dispose(); repo.Dispose(); }
public async Task Delete_deverá_excluir_a_empresa_e_retornar_Ok() { //Arrange var id = 1; var repo = new EmpresaRepositorioStub(); var empresa = repo.ObterPorId(id); var controller = new EmpresasController(repo); //Action var result = await controller.Delete(id) as OkNegotiatedContentResult <Empresa>; //Assert Assert.IsNotNull(result); Assert.IsNull(repo.ObterPorId(id)); Assert.AreEqual(id, result.Content.Id); Assert.AreEqual(empresa, result.Content); controller.Dispose(); repo.Dispose(); }
public async Task Put_deverá_atualizar_a_empresa_e_retornar_NoContent() { //Arrange var repo = new EmpresaRepositorioStub(); var controller = new EmpresasController(repo); var empresa = repo.ObterPorId(3); empresa.Nome = "empresa atualizada"; //Action var result = await controller.Put(empresa.Id, empresa) as StatusCodeResult; //Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(StatusCodeResult)); Assert.AreEqual(HttpStatusCode.NoContent, result.StatusCode); Assert.AreEqual("empresa atualizada", repo.ObterPorId(3).Nome); controller.Dispose(); repo.Dispose(); }
public async Task Post_deverá_adicionar_a_empresa_e_retornar_o_caminho_da_mesma() { //Arrange var empresa = new Empresa { Nome = "Nova Empresa", CNPJ = "12345000177" }; var repo = new EmpresaRepositorioStub(); var controller = new EmpresasController(repo); //Action var result = await controller.Post(empresa) as CreatedNegotiatedContentResult <Empresa>; //Assert Assert.IsNotNull(result); //Assert.AreEqual(result.RouteName, "DefaultApi"); //Assert.AreEqual(result.RouteValues["id"], result.Content.Id); Assert.AreEqual(result.Content.Nome, empresa.Nome); controller.Dispose(); repo.Dispose(); }