## Spec for "Smart Container" Plugin...

A configurable Smart Container widget that can be added to any web page

## Table of Contents​

- [Spec for "Smart Container" Plugin...](#spec-for-%22smart-container%22-plugin)
- [Table of Contents​](#table-of-contents%e2%80%8b)
- [Workflow](#workflow)
- [User Stories](#user-stories)
- [Screens / States​](#screens--states%e2%80%8b)
- [Sections Used](#sections-used)
- [Test Plan](#test-plan)

## Workflow

(N/A)​

## User Stories

As a user, I can...

- Add a Smart Container object on my page
- Build a collection of containers that show based on specified conditions
- Establish the conditions (date, tag, survey information, etc.) that a container is shown
- Toggle between options
- Set conditions for each option

## Screens / States​

![]()

## Sections Used

- ...Overall Container Properties
- Container Builder (drag/drop/crud - edit container btn - container display condition)

## Test Plan

| √   | Scenario                                                            | Expected                                                                     |
| --- | ------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| √   | When a user opens the [add new] tab                                 | A [Smart Container Widget] appears                                           |
| √   | When a user drags the Smart Container widget to the canvas          | A simple Smart Container appears                                             |
| √   | When a user clicks the [*] button on the widget                     | The Smart Container properties box appears                                   |
| √   | When a user changes the layout (align, position)                    | settings adjust accordingly (both editor & live mode)                        |
| √   | When a user configures the design (font, color, bg, border, shadow) | settings adjust accordingly (both editor & live mode)                        |
| √   | When a user publishes a page with the Smart Container               | The destination page shows the Smart Container as specified on the live page |
| √   | When a user specifies an post action (redirect, popup, tag)         | settings adjust accordingly (both editor & live mode)                        |
| x   | When a user chooses a preset                                        | settings overwrite to the preset settings                                    |
