public async void GetApartmentRoleTest(string role, int expectedCount) { //Arrange _controller.ControllerContext = GetMockedControllerContext(role); var aptParams = new ApartmentParameters(); //Act var response = await _controller.GetApartment(aptParams); //Assert Assert.Equal(expectedCount, response.Value.Count()); }
public async void GetApartmentFilterTest(ApartmentParameters aptParams, int[] expectedIds) { //Arrange _controller.ControllerContext = GetMockedControllerContext(Role.Admin); //Act var response = await _controller.GetApartment(aptParams); //Assert Assert.Equal(expectedIds.Length, response.Value.Count()); foreach (int id in expectedIds) { Assert.Contains(response.Value, x => x.Id == id); } }
public async Task <ActionResult <IEnumerable <Apartment> > > GetApartment([FromQuery] ApartmentParameters apartmentParameters) { var list = _context.Apartments.Where( a => a.Area <= (apartmentParameters.MaxArea ?? int.MaxValue) && a.Area >= (apartmentParameters.MinArea ?? int.MinValue) && a.Rooms <= (apartmentParameters.MaxRooms ?? int.MaxValue) && a.Rooms >= (apartmentParameters.MinRooms ?? int.MinValue) && a.MonthlyPrice <= (apartmentParameters.MaxPrice ?? decimal.MaxValue) && a.MonthlyPrice >= (apartmentParameters.MinPrice ?? decimal.MinValue) ); if (User.IsInRole(Role.Client)) { list = list.Where(a => !a.IsRented); } return(await list.ToListAsync()); }