Log message #4183018

# At Username Text
# Apr 12th 2019, 14:56 josbeir yeah as your solution would give a php notice if the key doesn't exist
# Apr 12th 2019, 14:54 neon1024 Hash is a good shout though @josbeir :ok_hand:
# Apr 12th 2019, 14:54 slackebot <neon1024>
# Apr 12th 2019, 14:54 neon1024 Yeah, I went similar
# Apr 12th 2019, 14:45 josbeir @neon1024 $this->assertArrayHasKey('call.features', Hash::flatten(json_decode('{ "call": { "features": "" } }'))); :rolling_on_the_floor_laughing:
# Apr 12th 2019, 14:43 ricksaccous too bad we don't account for it in our budgets though
# Apr 12th 2019, 14:43 ricksaccous hehe
# Apr 12th 2019, 14:43 ricksaccous as of now the only one who has written a test is me and i just wanted to to be sure some of my logic was correct
# Apr 12th 2019, 14:43 ricksaccous if i head a project i might make people write some tests
# Apr 12th 2019, 14:42 ricksaccous hahaha
# Apr 12th 2019, 14:42 neon1024 Don’t worry, it took me three test suites to figure this stuff out!
# Apr 12th 2019, 14:42 neon1024 ..and if you rebake your fixtures your test -case will fail
# Apr 12th 2019, 14:42 ricksaccous oh alright
# Apr 12th 2019, 14:42 neon1024 Which might be out of scope for your test-case
# Apr 12th 2019, 14:41 neon1024 As you’d be comparing all the keys in the response
# 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