public void Should_call_serializer_with_same_fields_when_fields_passed() { var parameters = new UsersParametersModel() { Fields = "id,email" }; _usersController.GetUsers(parameters).GetAwaiter().GetResult(); _jsonFieldsSerializer.Verify(x => x.Serialize(It.IsAny <UsersRootObject>(), It.IsIn(parameters.Fields), null)); }
public void Should_return_bad_request_when_invalid_page_passed(int invalidPage) { var parameters = new UsersParametersModel() { Page = invalidPage }; _jsonFieldsSerializer.Setup(x => x.Serialize(It.IsAny <UsersRootObject>(), It.IsAny <string>(), null)) .Returns(String.Empty); var result = _usersController.GetUsers(parameters).GetAwaiter().GetResult(); var statusCode = ActionResultExecutor.ExecuteResult(result); Assert.AreEqual(HttpStatusCode.BadRequest, statusCode); }
public void Should_call_serializer_with_no_users_when_no_users_exist() { var returnedUsersDtoCollection = new List <UserDto>(); var parameters = new UsersParametersModel(); _userApiService .Setup(x => x.GetUserDtos(parameters.CreatedAtMin, parameters.CreatedAtMax, parameters.Limit, parameters.Page, parameters.SinceId, null, null)).Returns(returnedUsersDtoCollection); _usersController.GetUsers(parameters).GetAwaiter().GetResult(); _jsonFieldsSerializer.Verify(x => x.Serialize(It.Is <UsersRootObject>(r => r.Users.Count == returnedUsersDtoCollection.Count), It.IsIn(parameters.Fields), null)); }
public void Should_call_service_with_same_parameters_when_valid_parameters_passed() { var parameters = new UsersParametersModel { SinceId = Configurations.DefaultSinceId + 1, // some different than default since id CreatedAtMin = DateTime.Now, CreatedAtMax = DateTime.Now, Page = Configurations.DefaultPageValue + 1, // some different than default page Limit = Configurations.MinLimit + 1, // some different than default limit }; _usersController.GetUsers(parameters).GetAwaiter().GetResult(); _userApiService.Verify(x => x.GetUserDtos(parameters.CreatedAtMin, parameters.CreatedAtMax, parameters.Limit, parameters.Page, parameters.SinceId, null, null)); }
public async Task <IActionResult> GetUsers(UsersParametersModel parameters) { if (parameters.Limit < Configurations.MinLimit || parameters.Limit > Configurations.MaxLimit) { return(await Error(HttpStatusCode.BadRequest, "limit", "Invalid limit parameter")); } if (parameters.Page < Configurations.DefaultPageValue) { return(await Error(HttpStatusCode.BadRequest, "page", "Invalid request parameters")); } var users = _userApiService.GetUserDtos(parameters.CreatedAtMin, parameters.CreatedAtMax, parameters.Limit, parameters.Page, parameters.SinceId, parameters.RoleIds, parameters.StoreIds); var usersRootObject = new UsersRootObject { Users = users }; var json = JsonFieldsSerializer.Serialize(usersRootObject, parameters.Fields); return(new RawJsonActionResult(json)); }