1.0.8 • Published 7 years ago
gas-mock-service v1.0.8
Gas Mock Service
This library is dedicated to mock the google apps script services
It accumulates data which can be useful for writing tests and debugging the codebase.
Installation
npm install --save-dev gas-mock-serviceUsage
import { Card } from 'gas-mock-service'or in Common.js
const Card = require('gas-mock-service')Test example (Jest)
import { Card } from 'gas-mock-service'
import GenericView from 'src/views/Generic'
import data from '../helpers/mocks/responses/getData.json'
describe('Generic View', () => {
it('Runs the render method and checks the returned data is a card instance', () => {
const card = new GenericView({ data }).render()
expect(card).toBeInstanceOf(Card)
expect(card.printJson()).toMatchSnapshot()
})
})As you can see using mock services is super easy and straightforward. All you have to do is import the specific class to your test file.
In our expample we use mock API response to use that data in GenericView constructor call.
Also, we check if the JSON representation of the view corresponds the snapshot.
Contribution
Running tests
npm testPublish
npm version
npm publish --access publicNOTE that to contribute you should make sure that:
- you've covered your code with tests
- all the tests pass if you run
npm test - you added your newe added class/service to readme and follow the highlighting pattern
Useful links
Script services
CardServiceClasses^1:ActionActionResponseActionResponseBuilderAuthorizationActionAuthorizationExceptionButtonButtonSetCardCardActionCardBuilderCardHeaderCardSectionComposeActionResponseComposeActionResponseBuilderImageImageButtonKeyValuesetAuthorizationAction(action)setBottomLabel(text)setButton(button)setComposeAction(action, composedEmailType)setContent(text)setIcon(icon)setIconAltText(altText)setMultiline(multiline)setOnClickAction(action)setOnClickOpenLinkAction(action)setOpenLink(openLink)setSwitch(switchToSet)setTopLabel(text)
NavigationNotificationOpenLinkSectionInputSuggestionsSuggestionsResponseSuggestionsResponseBuilderSwitchTextButtonTextInputTextParagraphUniversalActionResponseUniversalActionResponseBuilderWidgetEnums:ComposedEmailTypeIconImageStyleLoadIndicatorNotificationTypeOnCloseOpenAsSelectionInputType
PropertiesServiceClasses:CacheServiceClasses:Classes:
^1: All the CardService classes and their methods which are currently mocked in this library are marked as bold