# |
Apr 12th 2019, 14:41 |
neon1024 |
No, you can’t do that either |
# |
Apr 12th 2019, 14:41 |
neon1024 |
You re-bake a fixture with imports, and your test suite will fail |
# |
Apr 12th 2019, 14:41 |
ricksaccous |
lollll |
# |
Apr 12th 2019, 14:41 |
ricksaccous |
you can just do array_keys or something on it and then compare the array of array_keys? |
# |
Apr 12th 2019, 14:41 |
neon1024 |
Asserting values will suffer the same fate |
# |
Apr 12th 2019, 14:41 |
ricksaccous |
oh |
# |
Apr 12th 2019, 14:41 |
neon1024 |
No, you only want to assert the keys exist |
# |
Apr 12th 2019, 14:40 |
neon1024 |
and regenerating all your json fixtures |
# |
Apr 12th 2019, 14:40 |
ricksaccous |
comparing two php arrays is a lot easier |
# |
Apr 12th 2019, 14:40 |
neon1024 |
Any schema change requires rebaking all your fixtures |
# |
Apr 12th 2019, 14:40 |
ricksaccous |
yeah that makes sense |
# |
Apr 12th 2019, 14:40 |
neon1024 |
Because it’s far too fragile |
# |
Apr 12th 2019, 14:40 |
ricksaccous |
i am just thinking aloud as to why |
# |
Apr 12th 2019, 14:40 |
ricksaccous |
yeah |
# |
Apr 12th 2019, 14:39 |
ricksaccous |
actually trimming white space would ruin some stuff |
# |
Apr 12th 2019, 14:39 |
neon1024 |
No, as I said, you don’t want to do that |
# |
Apr 12th 2019, 14:39 |
neon1024 |
Well that’s what `$this->assertResponseContains()` can do for you, but it doesn’t understand nesting |
# |
Apr 12th 2019, 14:39 |
ricksaccous |
you might be able to do assertEqual if you trim whitespace, not sure about that |
# |
Apr 12th 2019, 14:38 |
ricksaccous |
hehe, yeah i suppose, json as arrays seem the easiest in php |
# |
Apr 12th 2019, 14:38 |
neon1024 |
Even with fixtures |
# |
Apr 12th 2019, 14:38 |
neon1024 |
But you don’t want to to `$this->assertEqual($response, $json)` as it’s too fragile |
# |
Apr 12th 2019, 14:37 |
ricksaccous |
got it |
# |
Apr 12th 2019, 14:37 |
neon1024 |
@ricksaccous I am refactoring the way we produce our json response, away from a horrible helper into using league/fractal. So I need to have test-cases to ensure that the refactor is producing the same results as the existing response |
# |
Apr 12th 2019, 14:32 |
ricksaccous |
oh ok |
# |
Apr 12th 2019, 14:32 |
neon1024 |
I am writing a test-case for my JSON web service. So neither of those |
# |
Apr 12th 2019, 14:32 |
ricksaccous |
lol |
# |
Apr 12th 2019, 14:32 |
ricksaccous |
or just a raw json response? |
# |
Apr 12th 2019, 14:31 |
ricksaccous |
with html |
# |
Apr 12th 2019, 14:31 |
ricksaccous |
wait are you trying to grab the json out of a web page? |
# |
Apr 12th 2019, 14:31 |
neon1024 |
Makes sense, thanks @dereuromark |
# |
Apr 12th 2019, 14:31 |
neon1024 |
Yeah, array and assert array I guess |
# |
Apr 12th 2019, 14:31 |
dereuromark |
it can json decode for it |
# |
Apr 12th 2019, 14:31 |
ricksaccous |
oh wow |
# |
Apr 12th 2019, 14:31 |
neon1024 |
Figured perhaps regex? But regex on json feels kinda wrong |
# |
Apr 12th 2019, 14:31 |
dereuromark |
write your own assertJson..() methods via trait |
# |
Apr 12th 2019, 14:30 |
neon1024 |
I can use `$this->assertResponseContains()`, but it doesn’t seem to do nesting |
# |
Apr 12th 2019, 14:30 |
neon1024 |
I’d like to ensure that `{ "call": { "features": "" } }` exists |
# |
Apr 12th 2019, 14:30 |
neon1024 |
What’s a good solution for doing integration testing on json to assert something exists inside another dimension of json? |
# |
Apr 12th 2019, 14:08 |
spencdev |
looks like `$this->request->session()` is where I can check how much time is left |
# |
Apr 12th 2019, 14:01 |
spencdev |
by interfering I mean extending the timeout, I'm just using the basic auth componenet |
# |
Apr 12th 2019, 13:59 |
dereuromark |
depens on how he is locked in. and checking the session is not really interfering with it is it? |