public void Test1_Registring_Map_Will_Pass()
        {
            var mapa = _mother.CreateRomeniaMapa();

            var request = new InserirMapaRequest()
            {
                Mapa = mapa.ConvertoToMapaDto()
            };

            //Arrange
            var mapaRepository = MockRepository.GenerateMock <IMapaRepository>();

            mapaRepository.Stub(x => x.Save(Arg <Mapa> .Is.Anything));

            //Act
            _mapaServices = new MapaServices(mapaRepository);
            var result = _mapaServices.InserirMapa(request);

            //Assert
            Assert.IsTrue(result.Success);
            mapaRepository.VerifyAllExpectations();
        }
예제 #2
0
        public InserirMapaResponse InserirMapa(InserirMapaRequest request)
        {
            var response = new InserirMapaResponse();

            try
            {
                var mapa = request.Mapa.ConvertToMapa();
                if (mapa.IsValid())
                {
                    //removes the old
                    var oldMapa = _mapaRepository.FindByName(mapa.NomeMapa);
                    if (oldMapa != null)
                    {
                        _mapaRepository.Delete(oldMapa);
                        _mapaRepository.Persist();
                    }

                    //persist the new
                    _mapaRepository.Save(mapa);
                    _mapaRepository.Persist();

                    response.Success = true;
                    response.Message = Resources.MapaServices_InserirMapa_Success_Message;
                }
                else
                {
                    response.Success = false;
                    response.Message = Resources.MapaServices_InserirMapa_Fail_Message + mapa.GetErrorMessages();
                    response.Rules   = mapa.BrokenRules;
                }
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = Resources.MapaServices_InserirMapa_Error_Message + ex.Message;
            }
            return(response);
        }