public void GivenThatUrlHelperIsNull_WhenTryingToMapCharacter_ThenArgumentNullExceptionIsThrown()
        {
            var house  = MockRepository.GenerateMock <IHouse>();
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, null);
        }
 // PUT api/<controller>/5
 public IHttpActionResult Put(int id, [FromBody] HouseViewModel house)
 {
     try
     {
         if (ModelState.IsValid)
         {
             house.CensusHouseNumber = house.CensusHouseNumber == 0 ? id : house.CensusHouseNumber;
             var newHouseDTO = HouseMapper.VMtoDTOHouse(house);
             house = HouseMapper.DTOtoVMHouse(service.AddUpdateHouse(newHouseDTO));
             return(Content(HttpStatusCode.OK, house));
         }
         else
         {
             return(Content(HttpStatusCode.BadRequest, GetModelStateErrors(ModelState)));
         }
     }
     catch (HouseDoesNotExistException e)
     {
         ModelState.AddModelError("", e.Message);
         return(Content(HttpStatusCode.NotFound, GetModelStateErrors(ModelState)));
     }
     catch (Exception e /* dex */)
     {
         ModelState.AddModelError("", e.Message);
         return(Content(HttpStatusCode.InternalServerError, GetModelStateErrors(ModelState)));
     }
 }
        public void GivenThatHouseIsNull_WhenTryingToMapIt_ThenArgumentNullExceptionIsThrown()
        {
            var urlHelper = CreateUrlHelper(RequestedUri);
            var mapper    = new HouseMapper();

            var mappedHouse = mapper.Map(null, urlHelper);
        }
        public HouseDTO DeleteHouse(HouseDTO u)
        {
            var house = db.Houses.Find(u.CensusHouseNumber);

            house = db.Houses.Remove(house);
            db.SaveChanges();
            return(HouseMapper.EntitytoDTOHouse(house));
        }
        public HouseDTO AddUpdateHouse(HouseDTO u)
        {
            var newHouse = HouseMapper.DTOtoEntityHouse(u);

            db.Houses.AddOrUpdate(newHouse);
            db.SaveChanges();
            return(HouseMapper.EntitytoDTOHouse(newHouse));
        }
        public void GivenThatHouseHasName_WhenTryingToMapIt_ThenMappedHouseHasSameName()
        {
            var house  = CreateMockedHouse(1, "testHouse");
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.Name, mappedHouse.Name);
        }
        public void GivenThatHouseHasIdentifier_WhenTryingToMapIt_ThenCharacterUrlIsCorrectAndContainsIdentifier()
        {
            var house  = CreateMockedHouse(1, "testHouse");
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(RequestedUri, mappedHouse.URL);
        }
예제 #8
0
        public void GivenThatHouseHasCoatOfArms_WhenTryingToMapIt_ThenMappedHouseHasSameCoatOfArms()
        {
            var house = CreateMockedHouse(1, "testHouse");
            house.Stub(x => x.CoatOfArms).Return("Coat of arms");
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.CoatOfArms, mappedHouse.CoatOfArms);
        }
예제 #9
0
        public void GivenThatHouseHasAncestralWeapons_WhenTryingToMapIt_ThenMappedHouseHasSameAncestralWeapons()
        {
            var house = CreateMockedHouse(1, "testHouse");
            house.Stub(x => x.AncestralWeapons).Return(new List<string> { "Cool Old Weapon" });
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.AncestralWeapons.Count, mappedHouse.AncestralWeapons.Count());
            Assert.AreEqual(house.AncestralWeapons.ElementAt(0), mappedHouse.AncestralWeapons.ElementAt(0));
        }
예제 #10
0
        public void GivenThatHouseHasRegion_WhenTryingToMapIt_ThenMappedHouseHasSameRegion()
        {
            var house = CreateMockedHouse(1, "testHouse");

            house.Stub(x => x.Region).Return("region");
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.Region, mappedHouse.Region);
        }
예제 #11
0
        public void GivenThatHouseHasCoatOfArms_WhenTryingToMapIt_ThenMappedHouseHasSameCoatOfArms()
        {
            var house = CreateMockedHouse(1, "testHouse");

            house.Stub(x => x.CoatOfArms).Return("Coat of arms");
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.CoatOfArms, mappedHouse.CoatOfArms);
        }
예제 #12
0
        public void GivenThatHouseHasDiedOut_WhenTryingToMapIt_ThenMappedHouseHasSameDiedOutData()
        {
            var house = CreateMockedHouse(1, "testHouse");

            house.Stub(x => x.DiedOut).Return("Some year");
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.DiedOut, mappedHouse.DiedOut);
        }
예제 #13
0
        public void GivenThatHouseHasWords_WhenTryingToMapIt_ThenMappedHouseHasSameWords()
        {
            var house = CreateMockedHouse(1, "testHouse");

            house.Stub(x => x.Words).Return("Winter is Coming");
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.Words, mappedHouse.Words);
        }
예제 #14
0
        public void GivenThatHouseHasCadetBranches_WhenTryingToMapIt_ThenMappedHouseCadetBranchesContainsCorrectUrls()
        {
            var house = CreateMockedHouse(1, "testHouse");
            var cadetBranch = CreateMockedHouse(2, "cadetBranch");
            house.Stub(x => x.CadetBranches).Return(new List<IHouse> { cadetBranch });
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(1, mappedHouse.CadetBranches.Count());
            Assert.AreEqual($"http://localhost/api/houses/{cadetBranch.Identifier}", mappedHouse.CadetBranches.ElementAt(0));
        }
예제 #15
0
        public void GivenThatHouseHasOverlord_WhenTryingToMapIt_ThenMappedHouseOverlordHasCorrectUrl()
        {
            var house    = CreateMockedHouse(13, "testHouse");
            var overlord = CreateMockedHouse(37, "overlordHouse");

            house.Stub(x => x.Overlord).Return(overlord);
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual($"http://localhost/api/houses/{house.Overlord.Identifier}", mappedHouse.Overlord);
        }
예제 #16
0
        public void GivenThatHouseHasCurrentLord_WhenTryingToMapIt_ThenMappedHouseCurrentLordHasCorrectUrl()
        {
            var house = CreateMockedHouse(1, "testHouse");
            var currentLord = MockRepository.GenerateMock<ICharacter>();
            currentLord.Stub(x => x.Identifier).Return(12);
            house.Stub(x => x.CurrentLord).Return(currentLord);
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual($"http://localhost/api/characters/{house.CurrentLord.Identifier}", mappedHouse.CurrentLord);
        }
예제 #17
0
        public void GivenThatHouseHasCurrentLord_WhenTryingToMapIt_ThenMappedHouseCurrentLordHasCorrectUrl()
        {
            var house       = CreateMockedHouse(1, "testHouse");
            var currentLord = MockRepository.GenerateMock <ICharacter>();

            currentLord.Stub(x => x.Identifier).Return(12);
            house.Stub(x => x.CurrentLord).Return(currentLord);
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual($"http://localhost/api/characters/{house.CurrentLord.Identifier}", mappedHouse.CurrentLord);
        }
예제 #18
0
        public void GivenThatHouseHasFounder_WhenTryingToMapIt_ThenMappedHouseFounderHasCorrectUrl()
        {
            var house   = CreateMockedHouse(1, "testHouse");
            var founder = MockRepository.GenerateMock <ICharacter>();

            founder.Stub(x => x.Identifier).Return(37);
            house.Stub(x => x.Founder).Return(founder);
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual($"http://localhost/api/characters/{house.Founder.Identifier}", mappedHouse.Founder);
        }
예제 #19
0
        public void GivenThatHouseHasAncestralWeapons_WhenTryingToMapIt_ThenMappedHouseHasSameAncestralWeapons()
        {
            var house = CreateMockedHouse(1, "testHouse");

            house.Stub(x => x.AncestralWeapons).Return(new List <string> {
                "Cool Old Weapon"
            });
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.AncestralWeapons.Count, mappedHouse.AncestralWeapons.Count());
            Assert.AreEqual(house.AncestralWeapons.ElementAt(0), mappedHouse.AncestralWeapons.ElementAt(0));
        }
예제 #20
0
        public void GivenThatHouseHasTitles_WhenTryingToMapIt_ThenMappedHouseHasSameTitles()
        {
            var house = CreateMockedHouse(1, "testHouse");

            house.Stub(x => x.Titles).Return(new List <string> {
                "titleOne, titleTwo"
            });
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.Titles.Count, mappedHouse.Titles.Count());
            Assert.AreEqual(house.Titles.ElementAt(0), mappedHouse.Titles.ElementAt(0));
        }
예제 #21
0
        public void GivenThatHouseHasCadetBranches_WhenTryingToMapIt_ThenMappedHouseCadetBranchesContainsCorrectUrls()
        {
            var house       = CreateMockedHouse(1, "testHouse");
            var cadetBranch = CreateMockedHouse(2, "cadetBranch");

            house.Stub(x => x.CadetBranches).Return(new List <IHouse> {
                cadetBranch
            });
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(1, mappedHouse.CadetBranches.Count());
            Assert.AreEqual($"http://localhost/api/houses/{cadetBranch.Identifier}", mappedHouse.CadetBranches.ElementAt(0));
        }
예제 #22
0
        public void GivenThatHouseHasSwornMembers_WhenTryingToMapIt_ThenMappedHouseSwornMembersContainsCorrectUrls()
        {
            var house       = CreateMockedHouse(1, "testHouse");
            var swornMember = MockRepository.GenerateMock <ICharacter>();

            swornMember.Stub(x => x.Identifier).Return(1000);
            house.Stub(x => x.SwornMembers).Return(new List <ICharacter> {
                swornMember
            });
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(1, mappedHouse.SwornMembers.Count());
            Assert.AreEqual($"http://localhost/api/characters/{swornMember.Identifier}", mappedHouse.SwornMembers.ElementAt(0));
        }
 public IHttpActionResult Post([FromBody] HouseViewModel house)
 {
     try
     {
         if (ModelState.IsValid)
         {
             var h        = HouseMapper.VMtoDTOHouse(house);
             var newHouse = service.AddUpdateHouse(h);
             {
                 return(Content(HttpStatusCode.OK, newHouse));
             }
         }
         else
         {
             return(Content(HttpStatusCode.BadRequest, GetModelStateErrors(ModelState)));
         }
     }
     catch (Exception /* dex */)
     {
         ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator.");
         return(Content(HttpStatusCode.InternalServerError, GetModelStateErrors(ModelState)));
     }
 }
예제 #24
0
        public void GivenThatHouseHasName_WhenTryingToMapIt_ThenMappedHouseHasSameName()
        {
            var house = CreateMockedHouse(1, "testHouse");
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.Name, mappedHouse.Name);
        }
예제 #25
0
        public void GivenThatHouseHasOverlord_WhenTryingToMapIt_ThenMappedHouseOverlordHasCorrectUrl()
        {
            var house = CreateMockedHouse(13, "testHouse");
            var overlord = CreateMockedHouse(37, "overlordHouse");
            house.Stub(x => x.Overlord).Return(overlord);
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual($"http://localhost/api/houses/{house.Overlord.Identifier}", mappedHouse.Overlord);
        }
예제 #26
0
        public void GivenThatHouseHasRegion_WhenTryingToMapIt_ThenMappedHouseHasSameRegion()
        {
            var house = CreateMockedHouse(1, "testHouse");
            house.Stub(x => x.Region).Return("region");
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.Region, mappedHouse.Region);
        }
예제 #27
0
        public void GivenThatHouseHasSwornMembers_WhenTryingToMapIt_ThenMappedHouseSwornMembersContainsCorrectUrls()
        {
            var house = CreateMockedHouse(1, "testHouse");
            var swornMember = MockRepository.GenerateMock<ICharacter>();
            swornMember.Stub(x => x.Identifier).Return(1000);
            house.Stub(x => x.SwornMembers).Return(new List<ICharacter> { swornMember });
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(1, mappedHouse.SwornMembers.Count());
            Assert.AreEqual($"http://localhost/api/characters/{swornMember.Identifier}", mappedHouse.SwornMembers.ElementAt(0));
        }
예제 #28
0
 public HouseService(HouseMapper mapper, SubnetMapper subnetMapper)
 {
     _mapper       = mapper;
     _subnetMapper = subnetMapper;
 }
예제 #29
0
        public void GivenThatHouseHasWords_WhenTryingToMapIt_ThenMappedHouseHasSameWords()
        {
            var house = CreateMockedHouse(1, "testHouse");
            house.Stub(x => x.Words).Return("Winter is Coming");
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.Words, mappedHouse.Words);
        }
예제 #30
0
        public void GivenThatHouseIsNull_WhenTryingToMapIt_ThenArgumentNullExceptionIsThrown()
        {
            var urlHelper = CreateUrlHelper(RequestedUri);
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(null, urlHelper);
        }
예제 #31
0
        public void GivenThatUrlHelperIsNull_WhenTryingToMapCharacter_ThenArgumentNullExceptionIsThrown()
        {
            var house = MockRepository.GenerateMock<IHouse>();
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, null);
        }
예제 #32
0
        public void GivenThatHouseHasIdentifier_WhenTryingToMapIt_ThenCharacterUrlIsCorrectAndContainsIdentifier()
        {
            var house = CreateMockedHouse(1, "testHouse");
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(RequestedUri, mappedHouse.URL);
        }
예제 #33
0
        public void GivenThatHouseHasTitles_WhenTryingToMapIt_ThenMappedHouseHasSameTitles()
        {
            var house = CreateMockedHouse(1, "testHouse");
            house.Stub(x => x.Titles).Return(new List<string> { "titleOne, titleTwo" });
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.Titles.Count, mappedHouse.Titles.Count());
            Assert.AreEqual(house.Titles.ElementAt(0), mappedHouse.Titles.ElementAt(0));
        }
예제 #34
0
        public void GivenThatHouseHasDiedOut_WhenTryingToMapIt_ThenMappedHouseHasSameDiedOutData()
        {
            var house = CreateMockedHouse(1, "testHouse");
            house.Stub(x => x.DiedOut).Return("Some year");
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual(house.DiedOut, mappedHouse.DiedOut);
        }
        public HouseDTO GetHouseByID(int id)
        {
            var house = db.Houses.Find(id);

            return(HouseMapper.EntitytoDTOHouse(house));
        }
예제 #36
0
        public void GivenThatHouseHasFounder_WhenTryingToMapIt_ThenMappedHouseFounderHasCorrectUrl()
        {
            var house = CreateMockedHouse(1, "testHouse");
            var founder = MockRepository.GenerateMock<ICharacter>();
            founder.Stub(x => x.Identifier).Return(37);
            house.Stub(x => x.Founder).Return(founder);
            var mapper = new HouseMapper();

            var mappedHouse = mapper.Map(house, CreateUrlHelper(RequestedUri));

            Assert.AreEqual($"http://localhost/api/characters/{house.Founder.Identifier}", mappedHouse.Founder);
        }
 public List <HouseDTO> GetAllHouses()
 {
     return(HouseMapper.EntitytoDTOHouseList(db.Houses.ToList()));
 }