0.1.3 • Published 3 days ago

quip-apps-api v0.1.3

Weekly downloads
4,758
License
Apache-2.0
Repository
github
Last release
3 days ago

Quip Apps API


This library is a stub of the actual Quip Live Apps API, which is documented here: https://corp.quip.com/dev/liveapps/documentation.

The intent of this library is not to provide identical functionality as the production live apps environment, but to allow rendering of Live Apps that rely on the Quip API in test/placeholder environments, such as Jest or Storybook.

In production, this library will be replaced at runtime with a full-featured API. To manually test your apps, follow the official instructions here: https://corp.quip.com/dev/liveapps/#develop.

Basic Usage:

install from npm:

npm install --save quip-apps-api

When you need to import the quip.apps/quip.elements namespace, instead import from this library:

import quip from "quip-apps-api";

This will be identical to using the global quip namespace when running inside of a quip container, but will automatically be mocked when the global quip does not exist.

Mocking

In general, this libarary tries to make it easy to create fake envronments without having to perform realistic data manipulation. This is acheived by exposing a values property on all classes, which corresponds to the various getters on that class. For example, if you want your test to have a record in a specific state, instead of calling application methods that produce that state, you can just set it directly on the record:

test("deleted record is not rendered", () => {
  const record = new CustomRecord()
  // you can just set these values directly to mock them.
  record.values.isDeleted = true
  const wrapper = shallow(<RecordView record={record}>)
  expect(wrapper).toMatchSnapshot()
})

When in doubt about which properties can be set or what side-effects to expect, read the code or tests. This repo is intentionally fairly concise.

In some places, this implementation may not perform exactly like the production interface. If you have a use case where this stub needs enhancement to get your test code to better represent production, please file an issue. The goal is to have a minimum useful subset of prod functionality without re-implementing Quip's business logic.

In general, this will be in areas that can be expected to be unit tested on our end, e.g. deleting records or performing quip-side actions like opening modals or adding comments. As a rule of thumb, avoid writing tests that test quip libraries, and assume that non-mutating actions are no-ops. Things like creating and moving records should work as expected, as it's likeley that your code depends on this functionality to work.

0.2.1-alpha.4

3 days ago

0.2.1-alpha.3

5 days ago

0.2.1-alpha.2

1 year ago

0.2.0-alpha.42

2 years ago

0.2.1-alpha.0

2 years ago

0.2.1-alpha.1

2 years ago

0.2.0-alpha.41

2 years ago

0.2.0-alpha.40

2 years ago

0.2.0-alpha.39

2 years ago

0.2.0-alpha.38

2 years ago

0.2.0-alpha.37

3 years ago

0.2.0-alpha.36

3 years ago

0.2.0-alpha.35

3 years ago

0.2.0-alpha.34

3 years ago

0.2.0-alpha.33

3 years ago

0.2.0-alpha.32

3 years ago

0.2.0-alpha.31

3 years ago

0.2.0-alpha.30

3 years ago

0.2.0-alpha.29

3 years ago

0.2.0-alpha.28

3 years ago

0.2.0-alpha.27

3 years ago

0.2.0-alpha.26

3 years ago

0.2.0-alpha.25

3 years ago

0.2.0-alpha.24

3 years ago

0.2.0-alpha.23

3 years ago

0.2.0-alpha.22

3 years ago

0.2.0-alpha.21

3 years ago

0.2.0-alpha.20

3 years ago

0.2.0-alpha.19

3 years ago

0.2.0-alpha.18

3 years ago

0.2.0-alpha.17

3 years ago

0.2.0-alpha.16

3 years ago

0.2.0-alpha.15

3 years ago

0.1.3

3 years ago

0.2.0-alpha.14

3 years ago

0.2.0-alpha.13

3 years ago

0.2.0-alpha.12

3 years ago

0.2.0-alpha.11

3 years ago

0.2.0-alpha.10

3 years ago

0.2.0-alpha.8

3 years ago

0.2.0-alpha.9

3 years ago

0.2.0-alpha.7

3 years ago

0.2.0-alpha.6

3 years ago

0.2.0-alpha.5

3 years ago

0.2.0-alpha.4

3 years ago

0.2.0-alpha.0

3 years ago

0.2.0-alpha.2

3 years ago

0.2.0-alpha.1

3 years ago

0.2.0-alpha.3

3 years ago

0.1.2

3 years ago

0.1.2-alpha.31

3 years ago

0.1.2-alpha.32

3 years ago

0.1.2-alpha.30

3 years ago

0.1.2-alpha.29

3 years ago

0.1.2-alpha.28

3 years ago

0.1.2-alpha.27

3 years ago

0.1.2-alpha.26

3 years ago

0.1.2-alpha.24

3 years ago

0.1.2-alpha.25

3 years ago

0.1.2-alpha.23

3 years ago

0.1.2-alpha.22

3 years ago

0.1.2-alpha.21

3 years ago

0.1.2-alpha.20

3 years ago

0.1.2-alpha.19

3 years ago

0.1.2-alpha.18

3 years ago

0.1.2-alpha.17

3 years ago

0.1.2-alpha.16

3 years ago

0.1.2-alpha.15

3 years ago

0.1.2-alpha.14

3 years ago

0.1.2-alpha.13

3 years ago

0.1.2-alpha.11

3 years ago

0.1.2-alpha.12

3 years ago

0.1.2-alpha.10

3 years ago

0.1.2-alpha.9

3 years ago

0.1.2-alpha.8

4 years ago

0.1.2-alpha.7

4 years ago

0.1.2-alpha.6

4 years ago

0.1.2-alpha.5

4 years ago

0.1.2-alpha.4

4 years ago

0.1.1

4 years ago

0.1.2-alpha.3

4 years ago

0.1.2-alpha.2

4 years ago

0.1.2-alpha.1

4 years ago

0.1.2-alpha.0

4 years ago

1.0.0-alpha.46

4 years ago

1.0.0-alpha.45

4 years ago

1.0.0-alpha.44

4 years ago

1.0.0-alpha.41

4 years ago

1.0.0-alpha.43

4 years ago

1.0.0-alpha.39

4 years ago

1.0.0-alpha.40

4 years ago

1.0.0-alpha.38

4 years ago

1.0.0-alpha.37

4 years ago

1.0.0-alpha.36

4 years ago

1.0.0-alpha.35

4 years ago

1.0.0-alpha.34

4 years ago

1.0.0-alpha.33

4 years ago

1.0.0-alpha.32

4 years ago

1.0.0-alpha.31

4 years ago

1.0.0-alpha.30

4 years ago

1.0.0-alpha.27

4 years ago

1.0.0-alpha.29

4 years ago

1.0.0-alpha.28

4 years ago

1.0.0-alpha.26

4 years ago

1.0.0-alpha.25

4 years ago

1.0.0-alpha.24

4 years ago

1.0.0-alpha.23

4 years ago

1.0.0-alpha.20

4 years ago

1.0.0-alpha.17

4 years ago

1.0.0-alpha.16

4 years ago

1.0.0-alpha.15

4 years ago

1.0.0-alpha.14

4 years ago

1.0.0-alpha.13

4 years ago

1.0.0-alpha.12

4 years ago

1.0.0-alpha.11

4 years ago

1.0.0-alpha.10

4 years ago

1.0.0-alpha.9

4 years ago

1.0.0-alpha.8

5 years ago

1.0.0-alpha.7

5 years ago

1.0.0-alpha.6

5 years ago

1.0.0-alpha.5

5 years ago

1.0.0-alpha.4

5 years ago

1.0.0-alpha.3

5 years ago

1.0.0-alpha.2

5 years ago

1.0.0-alpha.1

5 years ago

1.0.0-alpha.0

5 years ago