►
From YouTube: Magento PWA Sprint 23 Demo
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).
A
A
A
A
There's
been
some
general
slowdown,
I
think
this
Sprint's
largely
due
to
absence
or
travel
or
personal
stuff,
but
we
do
have
at
least
in
progress,
and
some
conversation
have
on
the
product.
Slider
story,
so
I
will
turn
it
over
now
to
art.
I
will
turn
off
my
screen
share
art.
You
had
some
thoughts
or
some
questions
about
this
product.
Slider
component
story.
Doing
the
implementation
of
the
confluent.
C
C
So
I
started
on
visual
component
and
find
out
that
it's
not
like
just
only
provider
or,
for
example,
new
arrivals
with
slider
feature
or
even
recommended
for
you
with
a
slight
scroll
and
so
on.
It's
a
global
one,
so
I
checked
all
designs
that
we
have
on
now
and
I
found
that
it's
only
about
what
to
show
and
how
to
be
here
with
this.
C
So,
for
example,
I
hope
you
see
my
screen
recommended
for
you
component
test,
my
image
or
some
promotional
image
and
some
secondary
images
new
arrivals
almost
the
same
in
suggest
images
and
how
to
show
them
by
CSS
and
how
to
slice
them
by
some
JavaScript,
then
related,
which
can
be
upsell
cross-sell,
actually
any
any
larger.
Any
of
any
content
slide
the
scroll
and
so
on
same
with
product
image
on
a
product
view
page
with
thumbnails
and
them
and
main
image
left,
align
the
thumbnails
and
bottom
alignment,
it's
a
product
page.
So
wish
suggestion.
C
Just
what
would
you
say
if,
when
you
use
one
slider
component
component,
that
will
include
any
type
of
components
with
some
content
if
we
need
to
show
the
products
we
also
just
another
component?
For
example,
I
will
show
you
product
where
we
have
link
title
image
and
so
on.
If
you
need
to
show
the
entire
sorry,
and
so
here
will
be
slider
as
a
main
component
with
cager.
C
C
All
products
so
on
homepage
we
need
slider,
related
products,
title
and
related
done.
Isn't
it
same
with
okay?
Let's
go
back
to
home
page
same
with
recommended
for
you
styles,
under
the
development,
so
content,
SS,
stuff,
site
and
components
larger
men
come
in
Maine
remains
lighter
component
as
a
sexual
slider
stuff.
How
to
show
it.
A
Blue
jeans
is
great:
are
you
trying
to
talk?
It
says:
you're,
muted,
very
cool,
and
thank
you
for
your
careful
consideration
of
this.
Are
you
proposing
that
we
use
as
part
of
the
UX
language
of
venía,
but
different
visual
treatment
for
lists
of
products
that
are
on
a
separate
page.
A
Different
visual
treatment
between
that
list,
gallery
vintages
and
a
gallery
of
images
for
the
product
detail
page
or
for
any
product
rich
component.
I
know
this
is
kind
of
I
didn't
express
that
well.
Are
you
proposing
that
we
have
in
our
UX
language
a
distinction
between
the
way
that
you
browse
a
gallery
of
images
for
one
product
and
the
way
that
you
browse
several
products
represented
by
their
images?
A
F
C
C
C
F
Something
has
already
captured
my
interest
as
a
shopper
and
I
am
there
to
figure
out.
If
that
is
the
specific
product,
I
want,
if
the
fabric
quality
the
way
that
it
fits
the
specifications
on
it.
If
that's
something
I
want
to
purchase
so
then
my
focus
is
on
really
examining
that
product
versus
quickly
going
through
products
to
identify
which
one
I'm
interested
in.
That's
why
there
is
a
different
visual
treatment
on
the
homepage
and
the
PD
page?
It's
not.
A
So
is
the
idea
that
the
the
particulars
of
arts,
several
suggestions
here,
would
each
be
used
specifically,
and
that
would
be
normative
like
it
would
be
recommended
in
venía.
If
you
are
creating
a
new
component,
which
has
a
gallery
thing,
make
sure
not
to
use
this
and
this
visual
indicator?
Would
we
be
writing
this
down
and
making
this
clear,
or
would
we
just.
F
I,
don't
think
that
we
can
dictate
how
somebody
wants
to
customize
their
site.
In
my
mind,
venue
provides
a
good
educated
standard
on
a
shopping
experience,
and
we
can
definitely
reveal
the
reasons
why,
if
we're
saying,
we
recommend
that
you
use
this
type
of
carousel
for
this
context
and
here's
why
someone
may
read
that
and
agree
with
it
and
go
that
way,
but
they
may
also
disagree
with
it
and
change
it
for
that
context.
A
F
F
And
I'd
like
to
hear
from
Jimmy
two
on
this,
so
maybe
I
don't
know
if
there'll
be
a
mutually
convenient
time
for
you
and
Jimmy
and
myself
during
the
first
part
of
the
day
here,
but
maybe
I
can
discuss
with
Jimmy
later
today
and
then
aren't
you
and
I
can
talk,
and
then
we
can
see
where
we
land
and
then
we'll
kind
of
decide
on
what
the
deliverable
needs
to
be
on
our
end
in
terms
of
describing
behavior
and
suggested
use
and
so
on.
After
that.
Second,
how
does
that
sound.
G
A
We've
been
relying
on
sending
just
URLs
around
to
the
four
corners,
so
thank
you
for
coming,
since
you
have
just
now
seen
the
invite
and
the
agenda
they're
in
I
would
understand
if
you
guys,
aren't
actually
ready
to
show
the
things
that
I
put
down,
because
I
thought
when
I
thought
would
just
copied
a
huge
list
of
emails.
You
were
on
it
and
could
review.
G
Right
now,
we
just
have
a
gif
of
kind
of
the
functionality.
We
don't
have
like
a
live
demo
or
anything.
We
kind
of
scrambled
together
and
just
threw
three
on
a
gift
to
show
you
guys
and
posted
on
the
PWA
channel,
but
we
haven't
actually
had
a
chance
to
take
a
look
at
the
requirements
for
this
meeting
like
what
we're
supposed
to
show
off
so
yeah.
H
A
Art
you
guys
are
free
to
discuss
it
in
detail.
A
demo
is
ideally
supposed
to
be
a
demo,
and
we
all
know
that,
but
we're
not
gonna
be
strict
and
just
announce
failure
and
do
like
scrum
ceremony
about
it.
Well,
just
we
can
talk
about
because
you
know
that's
the
reality
of
this.
We
all
have
kind
of
pieces
of
work
that
value,
so
you
guys
showed
off
that
gif
I,
guess
neither
of
you
in
front
of
computers
I
can
do
a
screen
share.
A
G
Yeah
so
right
now
we
have
different
selections.
So
what
happens
right
now?
Is
you
hit
ship
to
and
then
the
get
it
by
makes
basically
after
ship
to
goes
through?
It
makes
another
API
call
to
that
REST
API
to
get
the
actual
shipping
methods
and
that's
you
can
see
that
field
filling
out
in
real
time
and
you
can
see
it.
E
A
What's
new
here,
specifically
that
you
were
planning
on
doing
with
him,
you
guys
have,
as
you
update
into
the
projects,
making
things
generic,
for
instance,
this
slider
animation
is
something
that
could
be
genericized.
There
are
other
aspects
of
this
and
other
affordances,
it's
a
style
that
could
be
made
generic.
Do
you
guys
want
to
talk
about
as
and
I'd
like
to
make
this
more
generally
part
of
deliverables?
What
you
think
you
are
contributing
as
general-purpose
UI
ideas,
and
we
can
discuss
them.
However,
briefly,
to
see,
if
there's
something
we
want
to
standardize.
G
H
A
Have
this
shared,
folder
and
I
think
that
its
purpose
is
not
extremely
well
defined,
but
right
now
it
serves
as
like
half
a
staging
area
for
things
that
might
go
into
Peregrine's
and
half
things
that
really
should
stick
to
venía,
because
with
the
ARS
in
two
dimensions
the
look
and
feel
so
yeah
going
in
the
shared
folder
is
definitely
a
start
and
maybe
that's
something.
We
should
formalize
as
well.
Yeah.
G
I
H
A
Happening:
okay,
one
more
question:
for
you
guys
as
you're
doing
your
implementations:
are
you
referring
to
developer
documentation?
Are
you
reading
code?
Are
you
just
writing
your
own
stuff,
where
it's
not
immediately
obvious
that
hooks
exist
like
briefly?
What's
your
experience
of
working
against
this,
this
API.
H
G
F
Just
a
couple
of
comments,
so
on
your
and
the
very
very
start
of
the
gift
where
you
have
the
product
details
page
the
original
design
intent
for
that
Add
to
Cart
button
is
that
it's
sticky
in
the
footer.
So
even
if
you're
scrolling
page
content,
that
is
always
visible
to
you
that
never
leaves
your
site.
I
mean
it's
basically
the
same
as
checkout
or
place
ordered,
so
the
user
can
expect
to
find
calls
to
action
or
to
go
through
the
shopping
journey
in
that
area.
F
That
was
that
was
one.
The
other
thing
is
they
get
it
by
actually
was
intended
to
be
a
time
estimate,
because
people
typically
choose
shipping
method
based
on
how
quickly
they
want
something
as
I
understand
from
Jimmy,
we
don't
have
the
ability
to
fetch
that,
so
we
should
probably
change
that
label
to
say
shipping
method
and
then,
when
the
actual
values
of
shipping
method
just
offered
approximate,
you
know
it
might
take
this
many
two
to
five
business
days.
F
G
J
It
looks
good
can.
A
A
Thank
you
very
much.
I'm
gonna
stop
sharing
and
share
instead
outlook.
Once
again
we
flee
at
what
we
have
on
the
agenda.
So
thank
you
Paul
and
John
for
going
Oh
Jonathan.
Do
you
prefer
Jonathan
or
John
Jonathan's,
good
Jonathan?
It
is
sorry
about
that,
and,
and
now
sounded
we
just
mindful
of
time,
we
were
running
a
little
bit
over.
Would
you
like
to
continue
by
speaking
about
the
UX
design
components
for
many
cars?
You've
done?
Yes,.
F
Prepared
so
just
to
demonstrate,
we've
made
some
changes
to
the
mini
card,
and
so
you
would
access
the
mini
card
using
the
icon.
This
would
be
the
stage
if
you
haven't
added
anything,
yet
it
would
prompt
you
to
show
the
thing
that
we
had
before
was
that
you
would
see
you
could
swipe
on
an
item
to
see
more
action,
such
as
favoriting,
editing
or
removing
the
item
from
your
car.
F
We
decided
to
do
away
with
that,
and
instead
we
have
this
functionality,
that's
kind
of
it
mimics,
the
native
Android,
where
you
click
on
the
three
dots,
and
it
shows
you
kind
of
an
overlay
on
the
item
and
it
shows
you
options
for
that
item.
This
method,
or
this
design
or
concept,
is
much
more
scalable
than
the
previous.
If
needed,
we
could
add
two
or
three
more
things
to
this
and
it
would
still
be
visible
and
tackle,
and
all
of
that,
so
that's
why
we
decided
to
go
this
route.
F
F
What
Magento
native
does
it
takes
you
back
to
the
PD
page
and
what
you
would
do
is,
let's
say:
you've
picked
a
pair
of
fans
in
black
in
a
certain
size,
and
then
you
suddenly
decide
actually
I
think
I
need
to
size
it.
It
would
add
another
item
to
your
cart.
That
is
the
new
configuration,
so
you're
not
actually
editing
the
item.
You're,
adding
a
new
item,
so
you'd
have
to
go
back
and
remove
the
old
one
that
you
had
it's
not
ideal
but
as
I
understand,
this
is
how
it
works.
F
Currently,
so
we
just
have
to
alert
the
user
to
say:
hey.
You
have
a
duplicate
of
this
item
in
your
cart.
You
sure
you
want
both
or
I.
Don't
maybe
show
them
one
on
top
of
the
other.
So
you
know
immediately
that
you
have
to
look
the
same.
Something
where
we're
not
just
trying
to
you
know,
pull
the
wool
over
their
eyes
and
get
an
extra
product
conversion
yeah!
G
F
I
I
F
I
was
told
that
was
not
possible,
but
I
may
have
the
latest
information.
If
that's
possible,
we
could
definitely
prompt
the
user
to
update
their
shopping
cart
once
they
change
the
configuration
on
an
item
that
was
previously
in
their
car.
Maybe
Misha
Misha,
you
and
I
could
talk
and
I
could
sketch
out
that
flow
based
on
what's
the
latest
and
greatest
in.
I
F
Thank
you
great
question.
Thank
you
for
asking
that,
and
also
reminding
me
of
that
use
case.
It
had
gone
to
the
background
a
little
bit,
but
some
of
the
other
tasks,
but
the
other
kind
of
UX
tasks.
This
past
print
was
I've,
worked
with
James
Kalka,
been
here
who's
a
tech
writer
to
do
some
usability
testing
on
the
new
documentation
that
we're
publishing
for
PWA
and
I'll.
Let
him
take
over
and
kind
of
talk
about
what
we
did
share
exercise.
So
me.
D
Installing
me
has
sat
down
with
two
third
party
front-end
developers
we
asked
them
to,
but
they
had
no
previous
PW
experience
and
we
asked
him.
You
know
what
their
background
was
and
how
they
would
go
about
learning
how
to
work
with
PW
studios
and
we
kind
of
just
observed
how
they
use
dart
off-site
and
what
their
thoughts
were
and
what
they
were
seeing
on
the
screen
and
from
those
observations
we
came
up
with
view
action
items
to
improve
the
dockside
and
the
content
within
it.
F
F
But
if
any
of
you
is
interested,
if
you,
the
thing
is,
if
you
have
already
had
a
look
at
the
docks
that
makes
you
a
little
bit
of
a
you
know,
not
any
not
a
great
fit
for
the
study,
because
we
want
to
get
people's
first
impressions
on
it.
But
if
you
know
of
people
that
interested
in
participating
in
this
external
feedback
is
always-
and
we
do
offer
compensation
for
usability
studies.
So
if
you
have
developer
friends
that
you
feel
might
be
interested
in
doing
this,
please
send
them
our
way.
F
You
know
where
to
find
me
on
ng
comm
slack.
So
that's
one
thing.
The
other
thing
is
that
these
two
developers
were
here
as
part
of
the
Magento.
U
training
session
this
past
month,
and
so
one
thing
we're
trying
to
gauge
is
what
type
of
education
we
need
to
provide
around
PWA,
so
kind
of
got
their
thoughts
a
little
bit
on
what
sort
of
curriculum
they
would
like
to
see
for
a
PWA
specific
sort
of
training
module.
A
And
the
rest
of
the
agenda
is
that
we
talked
about
Doc's
usability,
testing,
I,
guess
and
I.
Think
it's
time
for
me
to
talk
about
middle
tier
reference
architecture
which
I
don't
have
I.
Don't
have
a
working
example,
which
was
a
great
disappointment
to
me,
but,
as
is
my
habit,
I'd
bit
off
a
little
more
than
I
can
chew.
At
the
last
sprint
demo,
I
showed
off
or
I.
Think
maybe
two
ago,
I
showed
off
a
brief
description
of
a
stateless
and
declarative
domain-specific
language
for
describing
how
application
shell
service
should
bathe.
A
A
So
you
can
see
here
that,
as
a
developer,
I
want
a
platform
agnostic
approach
to
creating
and
deploying
progressive
web
app
store
fronts,
and
this
story
builds
upon
a
research
spike
where
we
thought
about
what
a
middle
tier
specification
would
be
briefly
put.
The
problem
statement
is
as
follows:
oh.
C
A
It's
loading.
No
again,
the
bomb
is
as
follows.
The
before
on
the
left
is
actually
a
present
situation,
but
we're
speaking
broadly
of
transition
that
we're
going
to
try
to
make
I
have
spent
the
last
year
talking
about
how,
in
order
to
keep
pwace,
to
do
sort
of
lis
simple,
we
want
to
make
it
a
theme.
It's
a
Magento
theme.
We
talked
about
PWI
themes,
venía
as
a
theme.
A
Think
about
themes
is
that
a
Magento
store
owns
a
theme.
It
has
a
theme-
and
this
is
an
if
this
isn't
a
UML
graph-
that
states
that
in
a
formal
way,
but
those
are
ugly.
This
is
trying
to
kind
of
demonstrate
that
the
theme
has
to
belong
to
the
store.
Just
as
much
as
the
store
belongs
to
the
theme
in
your
environment
file,
you
have
to
specify
that
there
is
a
Magento
back-end
domain
that
you
use
during
developments.
This
takes
no
effect
during
production,
but
effectively.
A
Whoo-Hoo
for
a
domain-specific
language
there's
some
problem
with
the
table
of
contents
here,
but
the
idea
of
UPW
arte
r
upward
is
that
we
can
characterize
the
middle
tier
implementations
in
this
after
diagram
using
a
domain-specific
language
which
is
platform
independent,
so
that
it's
guaranteed
to
operate
the
same
way
on
nodejs
on
PHP
or
any
other
platform
that
you
care
to
name
and
the
reason
that
we
can
do.
That
is
something
I
explained
in
the
rationale
section,
where
there's
a
sort
of
a
concept
of
12
factor
methodology.
A
That
applies
to
an
application
overall,
and
there
is,
furthermore,
a
concept
of
a
progressive
web
app
which
contains
some
facsimile
of
the
data
and
the
logic
located
in
these
back-end
stores.
So
there's
a
sort
of
a
duplication
here,
there's
an
essential
problem
with
progressive
web
apps,
where
it's
not
just
a
caching
layer.
You
want
to
go
through
logic
and
you
can
cache
logic
in
as
much
as
it
is
declarative.
But
offline
mode
really
requires
a
lot
of
thinking
that
we
haven't
completed.
A
So
the
likeliest
answer
is
that
we'll
end
up
with
a
tiered
architecture,
which
is
what
most
people
and
most
systems
end
up
implementing
in
order
to
solve
this
tension,
where
there
is
a
place
where
the
logic
is
centralized,
it's
just
not
very
formal.
It's
like
a
little
middle
tier,
and
if,
for
those
of
you,
who've
worked
in
architectures
that
have
a
back-end
for
front-end.
A
So
the
way
to
avoid
this,
in
our
opinion
and
I,
say
our
and
mean
my
because
I
keep
showing
this
to
people
and
them
going
I
think
about
it.
So
it's
in
the
early
stages
and
has
not
yet
passed
through
the
architecture
team's
eyes,
because
it
needs
a
reference
implementation
and
the
test
suite
which
is
further
along
than
it
used
to
be.
A
The
idea
is
to
enforce
a
stateless
middle
tier
by
requiring
that
the
application
shell
be
something
that's
whose
behavior
is
driven
entirely
by
a
single
static
file.
This
is
not
a
programming
language.
This
is
configuration
and
this
configuration
happens
to
describe
info
a
web
server
that
serves
articles
and
authors
from
a
graph
QL
service
and
then
renders
them
against
templates.
It
has
a
small
bit
of
conditional
logic
in
here.
A
That
is
pattern
matching
based
based
on
these
are
regular
expressions
actually
based
on
the
pattern
matching
systems
you
find
in
a
lot
of
nice
programming
languages
to
people.
Oh,
so
what
this
enables
is
a
middle
tier
that
solves
the
Gateway
problem,
but
that
does
not
allow
you
to
get
it
sort
of
arbitrary
logic
sort
of
stuck
in
here.
You
can,
if
you
really
try
by
putting
stuff
in
templates,
but
since
the
only
default
template
engine
supported
this
mustache,
that's
especially
hard
to
do,
however,
template
engines
can
be
supported
arbitrarily.
So
we'll
talk
about
that
later.
A
The
idea
again
is
to
push
business
logic
to
the
edges
in
the
system,
rather
than
having
a
gateway
which
becomes
a
kind
of
an
attractive
nuisance
like
if
you
put
a
half
pipe
in
your
front
yard,
and
then
you
complained
about
kids
skateboarding
in
it.
The
law
says
that
you
made
it
too
easy
for
them
to
skateboard
in
your
front
yard.
I
A
A
lot
of
people
will
say:
oh
no,
another
standard
I
think
there's
an
xkcd
about
this
as
there's
about
everything,
but
we
believe
that
this
is
it's
really
a
time
for
something
like
this
couple
of
more
examples.
This
is
a
file
that
echoes
the
entire
request,
fax,
the
client.
The
request
is
a
standard
type
of
object,
which
is
fully
documented
down
here.
A
Ql
query,
for
instance,
there's
a
service
resolver
which
only
works
for
graph
QL.
That
accepts
a
query
variables
and
a
little
bit
of
metadata
about
the
request
itself
and,
oh
sorry,
in
the
second-last
there
is
a
template
resolver,
which
by
default,
must
support
mustache
templates,
which
are
aggressively
logic
free.
A
It
should
be
cursive
Lea
resolve
includes,
and,
lastly,
there
is
a
conditional
resolver,
the
only
branch
logic
that
exists
where
you
do
pattern
matching
and
then
guilts
to
resolvers
in
the
use
statement
or
a
default
statement,
and
that's
enough
it's
enough
for
the
things
that
we
need,
because
the
PWA
has
a
really
limited
set
of
application.
Shell
behaviors,
for
the
needs,
really
just
needs
to
write
a
template.
App
a
thing
to
understand
about
the
template.
A
Resolver
is
that
arbitrary
new
template
event
engines
are
supported
and
one
thing
that
that
allows
and
enables
is
the
possibility
of
say
server-side.
Rendering
of
your
react
application.
You
can
choose
the
borderline
between
the
parts.
That's
the
PWA
generates,
so
that
the
up
word
app.
Shell
generates
its
text
and
the
parts
that
are
rendered
by
react
on
the
server
and
you
can
implement
it.
As
simply
as
this
example
where
the
engine
that
satisfies
the
up
word,
contract
is
is
four
lines.
A
A
Example,
again
is
to
have
a
specification
for
this
specific
middle
tier
one
that
works
not
just
for
Magento
but
for
the
world
at
large.
That
might
help
us
to
avoid
one
of
the
biggest
pitfalls
that
we
can
encounter
when
working
with
Magento
I
tried
to
make
this
thing
really
user
friendly
I've
tried
to
make
it
possible
to
shorten
documents
until
they're
really
really
readable
and
have
a
lot
of
type
inference.
And
lastly,
though
this
is
not
fully
implemented,
yet
what
I
want
you
to
be
able
to
have
at
your
disposal
is
the
QuickStart
is.
A
A
A
So
again,
no
shame
my
implementation
is
super
broken
right
now,
but
I
needed
to
finish
up
documentation.
So
this
is
still
available
here
in
the
upward
branch
and
there's
an
open
poll
request
against
it
in
the
PWA
studio
repository.
So
we
can
take
a
look
and
make
comments
on
it.
If
you
like,
that's
kind
of
the
appropriate
place
for
it
to
go
they
so
far,
there
aren't
any
comments,
but
probably
because
it
says
do
not
emerge.
I
A
A
A
A
E
Yeah
so
basically,
I
spent
I
spent
spent
writing
tests
or
the
redox
actions
that
you
know
have
grown
pretty
rapidly
as
we've
been
developing
features
and
had
no
tests.
I
had
done
a
major
refactor
of
actions
and
if
we
didn't
have
any
test
coverage,
so
we
weren't
sure
whether
anything
had
changed.
You
know
whether
any
bugs
might
have
been
introduced.
So
in
order
to
give
us
that
kind
of
confidence
and
also
to
show
people
how
to
write
tests
for
actions,
or
at
least
one
way
of
doing
so,
I
wrote
a
bunch
of
tests.
E
E
E
And
then,
if
you
pass
an
error,
the
payload
is
the
error
and
it
sets
the
error
flag
correctly.
The
other
thing
that
we're
testing
right,
which
will
be
true
as
long
as
we're
using
the
create
actions,
is
that
the
the
action
creator
function
has
a
two
string.
That
is
the
same
as
the
type
field
which
helps
us
avoid
a
bunch
of
syntax.
When
we're
doing
this
and
reducers.
A
The
consequences
of
that
that's
that's
a
little
bit
nice
and
magical,
and
it
would
be
great
if
you
would
show
off
just
in
a
console
what
that
really
means.
Typically,
if
you
two
string
an
object,
you
get
this,
you
know
string
that
says,
object,
object
and
that
often
shows
up
horribly
in
people's
console
logging
when
they're
trying
to
do
debugging.
Maybe
this
is
something
everyone
on
the
call
is
familiar
with,
but
it's
it's
actually
really
nice.
This
is
a
developer
experience
feature
that
is
yeah.
E
E
Then
not
only
does
this
create
a
bunch
of
function
that
helps
us
generate
actions,
but
then,
when
we
come
into
the
reducers
part
here
we
just
we
import
all
the
actions
from
from
the
app
slice
here
and
in
the
reducer.
We
can
literally
use
those
functions
as
the
as
the
string
of
the
type
to
handle
right
so
that
and
that
way,
if
the,
if
the
names,
if
the
exact
names
of
these
actions
change,
it's
not
something
in
the
world
right.
We're
we're
insulated
from
from
small
changes
like
that.
Breaking
a
bunch
of
stuff.
A
E
That's
that's.
The
big
deal
right
is
that
people
are
gonna,
be
making
new
actions
of
handling
them
and
their
own
reducers
and
stuff,
and
so
you
know
it's
got
to
be
very
predictable.
How
things
are
going
to
be
named.
You
know
as
predictable
as
we
can
make
it
anyway.
So
so
those
tests
are
easy
to
write
and
then
the
other
tests
that
are
harder
to
write.
E
You
know,
but
now
we've
got
a
lot
of
examples,
our
async
actions,
and
so
let's
actually
go
into
something:
that's
a
little
more
complicated
so
that
we
can
get
a
better
look
at
it.
So
for
checkout
right
we
actually
have
requests
we're
making
right.
So
when
we
only
have
some
input,
we
submit
that
input
and
then
we
get
a
response
back
from
the
API
that
either
accepts
or
rejects.
E
So
if
we
look
at
our
async
actions,
we've
got
some
basic
ones.
Okay,
we're
just
beginning
checkout
we're
resetting
it
cetera,
but
then
we've
got
the
more
complicated
stuff
form
or
submitting
input
right
where
you
know
we're
dispatching
actions
that
say:
hey
we've
begun
to
to
us
submit
and
we
actually
make
the
API
call
we're
formatting
the
address
all
right,
there's
a
lot
of
stuff
going
on
in
these
functions,
and
so
that's
why
we
had
to
test
these.
So
we
go
into
tests
for
those
right.
We've
got
some.
You
know
we.
E
E
We're
checking
that
these
async
actions,
when
called,
should
return
a
function
called
thunk
we're
checking
the
thunk
is
not
returning
stuff,
so
people
aren't
using
it
in
our
own
way,
so
that
thunk
has
got
a
return
undefined
and
then
we're
checking
basically
that
it's
dispatching
actions
correctly.
So
when
we
call
the
thunk
there
with
arguments
the
same
way,
the
store
would
we're
checking
that
dispatch
has
been
called
with
the
correct
action
that
it's
been
called.
The
correct
number
of
times
in
a
case
like
submit
input,
we're
checking
with
that
on
success.
E
So
if
we
got
a
rejected
value
from
request-
and
it
was
this
error
that
the
proper
action
was
being
was
being
fired
here
and
then
we
can
also
check
that
it
throw
those
in
where
we
expected
it
to
throw.
For
example,
if
there
wasn't
a
guest
card
ID
and
somehow
you
submitted
an
order,
it
should
be
throwing
an
error
right
and
so
all
said
and
done.
E
A
So
you
can
can't
you
can
turn
off
your
screen
share
and
we
can
stop
the
recording
provided.
Nobody
has
any
questions
or
comments
for
the
floor.
We've
only
gone
two
minutes
over
which
I
think
is
fantastic.