►
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
B
All
right
always
helpful
if
I
give
you
a
tiny
bit
of
context.
B
So
a
lot
of
pre-work
required
on
this
one.
Essentially,
we've
been
recording
or
presenting
the
option
to
record
time
tracking
against
issues
and
merge
requests
for
a
long
long
time,
but
you
can't
really
do
anything
with
that
data,
so
this
is
kind
of
a
real
mvc.
B
Kind
of
stuff
again
there's
a
pre-work
to
do
in
the
back
end,
but
that's
that's
predominantly
done
this,
mr,
is,
as
you
can
see
quite
basic,
but
get
some
of
the
data
out
and
we're
at
a
point
now
where
we
want
to
add
a
bit
of
error,
handling
and
put
some
specs
together.
A
D
Why
I
that's
why
I'm
here
we've
been
working
a
bit
with
lee
today
on
improving
the
front-end
component.
I
think
it's
in
a
really
good
shape
now.
So,
basically,
what
we
want
to
test
here-
and
I
was
sharing
this
with
lee
as
well,
so
sorry
for
repetition.
D
This
component
basically
displays
the
time
tracking
the
table
with
the
time
tracking
and
we
need
to
check.
If
there
is,
I
mean,
I'm
not
sure.
If
loading
state
is
implemented,
it
should
be
implemented.
If
it's
not
second
is
like
we
will
we're
gonna
test.
If
there
is
an
error
thrown
if
the
query
is
rejected
and
basically
we
want
to
mock,
follow
client
in
our
test
and
check
how
login
state
is
displayed,
how
results
are
rendered
and
if
error
is
thrown
so
basically,
three
main
cases
for
us
awesome.
D
A
Natalia
I've
never
used
apollo
client.
I'm
so
glad
that
I.
A
B
So
I
think,
if
you
search
for
report
spec,
it's
also
made
me
think
my
component
might
need
a
bit
of
a
name
change,
but.
C
A
B
So,
let's
start
with
a
real
basic
question
for
natalia:
I
guess
will
do
we
think
that
shallow
mount
will
do
everything
we
need
it
to
do.
We
always
use.
B
A
A
A
Natalia,
could
you
kindly
say
one
more
time
the
three
use
cases
we
want
to
cover,
I'm
gonna
put
them
in
comments
just
so.
I
don't
have
to
ask
you
a
hundred
times.
A
B
A
Okey
dokey
so
loading
first,
so
fortunately
having
never
used
apollo,
it
does
look
relatively
straightforward.
I've
read
our
docs
I've
tinkered
with
it
on
the
side,
but
never
actually
used.
So
I
think
this
is
gonna,
be
a
lot
of
people
watching
natalya
teach
me
how
to
use
apollo,
which
is
awesome
because
she's,
a
wonderful
tv.
A
D
So
if
you
have
this
apollo
property
in
the
component,
that
means
that
component
will
start
the
query
in
the
created
hook.
So
when
component
is
created,
query
is
started
if
there
is
no
skip,
but
that's
like
a
bit
deeper.
Basically,
if
you
have
a
power,
it
starts
under
created.
That's
why,
when
you
mount
the
component
in
your
test
without
any
additional
things
with
mocked
client,
it
will
be
in
the
loading
state.
D
Client
and
like
because
we
want
to
teach
people,
we
will
open
our
guidelines
and
just
follow
them.
Also,
this
will
enlighten
like
what
is
not
clear
from
the
guidelines
right,
because
there
were
many
people
changing
them
after
I
introduced.
I
think
right
now.
It's
not
that
clear
sure
see
how
I'm
blaming
my
colleagues
about.
D
D
Yes
suggesting,
unfortunately,
in
our
case,
we
are
not
able
to
use
global
view
object
when
we
want
to
use
view
apollo.
It
requires
a
local
view.
I
think
this
is
one
of
the
very
few
cases
where
we
need
local
view.
A
D
D
Would
say
that
we
can
skip
this
function
in
our
case,
it
will
be
much
easier
for
us.
So
what
we
can
do
here
in
our
spec,
we
definitely
still
need
to
local
view,
use
view
apollo.
We
can
add
it
right
there
to
the
describe
right
after
you
created
local
view.
Just
add
local.
C
D
C
A
B
Oops
will
this
become
even
easier?
I've
seen
that
paul
and
nathan
have
been
working
on
some
super
duper
fake,
apollo
data
generator.
Have
you
seen
that
not.
D
D
A
D
D
D
So
this
is
for
sure,
because
we
will
be
changing
it.
We
will
be
making
successful
response
mode
and
error.
So,
let's,
let's
go
back
to
our
test
and,
let's
add
first
few
more
imports.
First,
import
will
be
importing
the
same
query
we're
using
in
the
component.
So
on
your
right
side,
yes,
you
will
need
to
go
to
sidebar
constants.
D
We
uh-huh
need
to
open
it
as
well
sure
there
are
two
different
queries
there.
Let's
start
with
testing
just
one.
For
now
and
from
it
you
will
need
yeah,
it's
a
crazy
amount
of
imports,
they're
adjusting.
A
A
A
D
I
know
right
so
this
is
the
first
thing
and
we
will
need
to
define
a
response
for
this
one.
Usually,
if
there
are
many
queries,
we
create
a
response
in
some
kind
of
mock
data,
but
we
can
just
define
a
constant
right
here
before
the
first
describe
for
the
response,
so
you
can
name
it
whatever
successfully.
A
D
B
I
could
possibly
I've
got
a
query
that
I've
run
on
my
machine.
Fine,
if
we
want.
C
D
D
Just
send
the
correct,
successful
response
and
we
can
just
copy
paste
it
here.
B
Anyone
have
any
chat
down
the
bottom
right,
let's
see
if
okay,
for
a
start,
it
looks
like
it's
truncating
it
if
I
send
it
so,
maybe
on
slack
might
work.
B
I
hope
I've
sent
you
the
right
thing,
I'm
sure
we
can
truncate,
I'm
sure
we
can.
B
That's
I've
never
done
that
before
new
snippet
on
the
project,
or
is
it
a
personal
snippet
that
one.
D
It's
a
personal
snippet,
I
think
just
don't,
make
it
private
to
make
it
public,
so
we
could
access.
D
B
So
awesome,
you
know
what
I've
gone
and
done.
I've
just
created
it
on
my
self-hosted
gitlab,
instant
space,
brilliant.
C
B
B
Saying
that
I
think
that
if
you,
if
you
are
going
to
want
to
you're,
going
to
have
to
put
put
some
fake
time
logs
into
gdk
anyway,
because
I
suspect
you
won't
have
any
in
your
your
database
yeah,
that's
a
json
response
right.
B
B
D
D
Yeah
perfect,
oh
so,
okay,
not
sure
we
would
need
all
the
type
names,
but
for
now,
let's
leave
them
where
they
are.
We
can
always
do
a
cleanup
later.
A
D
D
D
D
D
A
D
A
D
A
D
If
I
remember
everything
correct,
I
should
because
I've
been,
I
mean
every
single
time.
I've
done
this.
Sometimes
I
still
fail.
So
let's
run
the
test
and
see
where,
where
we
did
files-
because
probably
there
is
something
we're
missing,
okay
can
treat
property
query
of
undefined
in
something
defined.
Okay,
let's
see
where
we
I
mean.
I
bet
this
will
go
about
our
time.
Log.
This
issuable
type
query
so
issuable
type
is
issue
interesting,
because
this
should
be
fine
time.
The
query
stage
issue.
D
D
Actually,
showing
the
correct
one
there,
but
let's
just
in
case
in
our
query:
let's
make
a
console
log
to
see
why
it's
complaining
about
this.
You
made
a
log
issue.
I'm.
D
B
D
D
D
One
one
small
thing:
try
to
make
issue
lower
lowercased
on
the
left
side,
where
we
provided,
because
I
don't
remember
if
it's
lowercase
or
not,
because
we
have
like
two
different.
D
Yes,
yes,
I'm
really
sorry
for
this,
but
good,
so
we
right
now
at
least
we
have
our
test
fashion.
That
means
we
didn't
fail
with
all
the
scaffolding
and
justin
on
the
left
side.
Could
you
also
add,
after
each
fake
apollo,
is
null
because
we
need
to
nullify
the
client
every
single
time,
just
to
make
sure
we're
clear,
gotcha
awesome
so
component
is
mounting.
This
is
a
huge
win
already
with.
A
A
B
D
Let's,
let's
just
make
it
like
small
eat
cases,
then
we
can
just
join
them
on
the
describe
and
it
should
render
loading
spinner
right
when
loading.
I.
A
D
A
A
D
B
A
D
A
A
Should
do
it
for
well?
This
is
actually
a
pretty
good
discussion
point
because
natalie-
and
I
have
had
these
conversations
before
where
I
have
a
kind
of
a
disagreement
with
writing
tests,
the
way
that
we
do
and
specifically,
for
example,
in
my
case,
I
would
do
something
like
this,
where
I
pass
in
the
wrapper
directly
and
then
return
wrapper
dot.
You
know
find
component
gl.
A
And
that's
just
a
preference
for
me
because
I
don't
like
reaching
outside
of
the
function
into
a
globalish
state
for
anything.
D
C
A
Loading
icon,
you
have
to
pass
your
wrapper
in
so
for
now
in
this
case,
but
I
also
would
have
returned
the
wrapper
outside
of
this
mount
component
and
consume
it.
That
way,
but
that's
just
a
personal
preference
and
it's
not
super
necessary,
so
we'll
clean
this
up
and
make
it
a
little.
Is
that
would
that
be
considered?
A
I
don't
know
more
solid
or
something
it's
a
little
more
functional
type
sort
of,
because
I'm
not
reaching
outside
of
the
scope
of
the
function
and
passing
everything
into
it
that
it
needs
and
that's
just
a
personal
preference.
I
find
it
easier
to
debug
and
reason
about,
but
a
lot
of
people
get
really
upset
about
having
the
pass
wrapper
every
single
time
or
create
a
new
mount
component
to
to
quote
someone
much
smarter
than
me.
It's
just
typing,
but
generally
speaking,
they're
both
acceptable
approaches,
and
this.
C
A
D
A
D
D
D
A
D
So
a
lot
in
spinner
exists
from
what
I
can
see.
Okay,
awesome
now,
let's,
so
this
is
the
good
now,
let's
also
create
a
second
test
that
should
result
our
query
and
we
will
expect
some
results
to
be
rendered.
I
mean,
should
a
render
should
render
the
results
after
the
successful
call
or
something
like
this.
B
A
D
This
we
will
need
one
more
import.
We
will
need
wait
for
promises,
because
we
will
need
to
wait
until
if
this
one
is
resolved.
It's
not
it's
not
for
it's
not
fantastic.
It's
our
helpers.
I
guess.
Let
me
quickly
check
okay,
where
it
is
so
wait
for
promises
is
a
default
import
from
helpers.
Wait
for
promises.
D
It's
like
it's.
I
really
hate
just
order,
my
inverts
every
single
time.
I
know
this
is
like
it
looks
better,
but
there
we
go
so,
let's
again
mount
component,
we
are
not
going
to
change
anything
so
far
and
what
we
want
to
do
right
now.
We
will
be
waiting
for
promises
until
our
query
is
resolved
here.
I
think
this
is
a
synchronous
one,
so
we
need
to
ascend.
A
D
A
Sure
yeah
so,
and
we
could
so
I
again
I
I
actually
have
a
a
pretty
strong
dislike
for
using
test
id
and
I
try
to
avoid
it
whenever
possible
and
something
here
left
my
own
devices.
I
would
use
get
by
role
and
try
to
find
this
text
here,
assuming
we
can,
because
we
have
control
of
the
data
coming
back
here.
I
would
do.
C
A
B
A
B
Yeah,
I
was
surprised
it
wasn't.
I
don't
know
what
the
word
is
but
removed
when
you
build
the
the
production
code.
To
be
honest,
I
didn't
expect
it
to
be
there
in
okay,
so.
D
A
A
Right,
so
I'm
actually
changing
this
to
get
all
by
role,
because
get
ex
implicitly
implies
that
you
should
only
have
one
okay,
so
so
here
we'll
put
john's
name
in
there,
also
by
preference-
I
always
regex
them
to
so
I
can
make
them
case
insensitive,
but
personal
preference
that
keep
on
my
row.
So
now
we
should
have.
D
C
A
A
B
D
Right
now,
let's
check
also
that
at
least
for
the
right
now
we're
testing
only
one
of
two
possible
queries
to
give
a
bit
of
context.
Adjusting
this
component
will
be
working
with
two
different
queries:
one
for
merge
request
one
for
issue.
Currently
we
are
only
testing
issue
because
we
provided
only
a
handler
for
issue
and
we
set
issuable
type
to
issue
right.
Okay,.
A
D
D
A
D
So
basically,
we
we
want
to
make
sure
that
our
handler
was
called
so
what
we
can
do
here.
We
can
either
move
our
query
handler.
We
provide
to
the
mount
component
to
a
constant
outside
of
it,
or
we
can
just
pass
an
additional
constant
in
our
test
case,
whatever
you
prefer,
because
right
now
it
sees
that
query
handler
is
defined
only
in
mount
component,
so
we
can
move
it
to
the
constant
above
and
just
pass
it
there.
If.
D
A
As
I
say
for
those
following
along
at
home,
this
is
just
so
that
we
have
access
to
this
later.
Yeah
did
I
do
something
wrong
here.
D
A
Oh,
it's
because
we're
redeclaring
the
oh
yeah
gotcha
gotcha,
so
we
need
to
rename
the
constant.
D
A
D
A
D
A
D
Suspense
I
mean
after
this
when
we
will
be
expanding
it.
We
can
probably
separate
success.
Issue.
Query
header
success,
merge
request,
but
for
now
it's
just,
let's
make
sure
that
it's
called.
And
finally,
let's
make
sure
that
when
it's
rejected,
we
have
some
kind
of
error.
I
think
we
will
need
to
implement
the
error
handling.
First.
D
A
A
C
D
So,
where
to
call
create
flash
in
apollo,
where
we
have
query
variables
in
update,
there
will
be
also
an
error
hook.
So
just
add
it
right
below
yep
error,
and
when
we
have
any
kind
of
error,
let's
just
create
splash.
No,
no,
we
don't
need
even
to
pass
anything.
We
just
need
any
kind
of
air.
We
want
to
create
flash
with
some
abstract
text.
A
Oh
jeez,
something.
A
A
Know
how
american
of
me
that's
so
ugly,
what
is
it
I
don't
remember
the
importance
I.
D
A
If
you're
using
it
in
the
template,
it's
globally
available,
so
you
wouldn't
have
it.
D
So
right
now
what
we
will
need
to
do
in
our
test
right:
okay,
it's
fine!
So
right
now
we
will
need
to
provide
a
different
query
handler
in
this
case,
so
in
our
mount
component.
No,
no!
It's
it's
here!
It's
fine!
So
let's
go
to
our
test
case.
The
last
one.
A
D
A
D
In
curly
braces,
yes,
query
handler,
and
this
will
be
just
a
fan,
fan
mock,
rejected
value.
D
Okay,
yeah
again,
we
will
need
to
wait
for
promises
in
this
particular
case.
A
D
A
A
D
B
D
B
D
You
think
it's,
let
me
quickly
check.
D
Yep
and
here
as
well-
and
I
think
with
this-
we
will
need
to
change,
create
flash
syntax
in
the
error
hook
in
the
component,
because
it
has
an
object,
not
a
string
that
we
are
doing
in
the
component
on
the
right
side,
where
you
call
in
create
flashing
error
hook,
it
should
have
a
message
property.
I
think
so.
It's
like
it's,
not
a
stream,
but
it's
an
object
with
message.
Something
went
wrong.
A
D
D
Yeah,
just
in
the
view,
maybe
I'm.
D
D
D
D
D
I
know
right
so
right
now
we
have
covered
all
the
basic
functionality,
at
least
for
issue.
This
is
already
a
good
sufficient
spec
for
merge
request
it
only.
We
will
need
only
to
define
a
second
response
and
create
a
separate
describe
copy
paste.
Whatever
we
have
here
and
make
sure
that
merge
quest,
query
is
called
when
we
have
an
issuable
type,
merge
request.
So,
okay,
we
can
only
check
the
first
one.
D
A
D
D
A
D
B
Sorry
no
get
says
get
merged
for
mr
time
log.
B
D
D
Saw
the
whole
thing
awesome,
so
we
have
mr
time
logs
right
now
what
we
can
do
where
we
are
defining
as
success
response.
We
can
just
leave
it
as
it
is.
Luckily
we
have
the
same
shape
for
two
responses.
That's
why
they're
reusable
in
the
component,
but
where
we
are
creating
success.
Query
handler,
let's
rename
success,
query
handler
into
success
issue:
query
handler.
A
D
Here
and
everywhere,
so
it's
like
just
add
issue
and
right
below
it.
We
will
create
success
and
more
query
handler
with
the
same
success
response,
because
response
is
identical
to
both
awesome
and
right.
Now,
let's
go
back
to
our
new
test
case.
We
created
just
below
yeah
and
in
the
mount
component
we
will
need
to
specify
a
prop.
I'm
not
sure
we
are
passing
issuable
that
no
we're
not
passing
issuable
type
right.
It's
it's
constant!
D
So
again,
sorry
yeah!
We
need
to
pass.
This
is
not
props,
it's
actually
provided.
So
we
can.
We
can
just
pass
issuable
type
as
one
more
property
right.
A
A
D
It
was
fine,
where
is
a
provider.
D
Come
back,
you
have
you.
B
D
A
B
D
D
I
think
it
will
fail
right
now
because
we
didn't
define
this
in
fake
apollo,
but
let's,
let's
check
right,
uh-huh
good.
It's
failing
why
it
fails
two
more
additional
tests,
but
okay,
it's
not
merge
request.
I
think,
cannot
see
property
query
of
undefined,
so
I
will
make
a
quick
check
of
sidebar
constants
here
and
actually
issuable
type.
A
D
Yep,
let's
see
it
still
should
fail,
because
we
didn't
define
a
handler
for
this.
A
D
A
A
D
D
A
D
C
C
D
B
D
Always
render
template
always
aim
to
check
what
is
rendered,
because
if
you
try
to
set
check
methods
computed
whatever
in
isolation,
there
is
always
a
chance
that
your
calculation
is
completely
correct
and
your
test
is
passing,
but
when
you
start
rendering
them
in
the
template
you
forgot
to
edit
there,
you
forgot
to
add
a
condition
to
the
template.
Test
is
passing.
Calculation
is
correct.
Template
is
wrong
because
you're
not
testing
the
end
result
there,
because,
if
you
think
about
it,
every
view
component
is
a
render
function.
That
returns
a
template
there
under
the
template.
B
So
in
terms
of
how
how
far
you
go
with
that,
like
you
know,
we're
testing
here
that
we're
getting
two
john's
and
two
administrators,
which
is
great,
you
know
we
don't
have
to
go
so
far
to
say
that
we're
getting
you
know
certain
times
and.
B
D
And
we
don't
go
into
child
components
as
well,
because
we
don't
want
to
see
what
child
component
is
rendering.
This
is
kind
of
like
outside
of
the
scope
of
the
test.
We
want
to
make
sure
that
we
pass
correct
props
to
childs
right.
This
is
the
contract,
so
you
have
a
child
component.
It
has
contract
its
contract,
is
crops
and
immediate
events.
D
B
So
would
I
need
to
potentially
throw
our
spec
together
to
show
that
this
is
being
mounted
and
the
right
things
are
being
injected
or.
D
B
A
B
E
A
B
Sorry,
david
we'll
get
we'll
get
to
your
css
and
vs
code.
Eventually,
I
promise.