                         }
                     }
 
-                    it("should have correct title") {
-                        expect(sut.navigationItem.title).to(equal(inputs.title))
-                    }
-
-                    it("should embed scroll view controller") {
-                        expect(sut.childViewControllers).to(contain(scrollViewController))
-                    }
-
-                    it("should enable bouncing in scroll view controller") {
-                        expect(scrollViewController.scrollView.alwaysBounceVertical).to(beTrue())
-                    }
-
-                    it("should set correct view for scroll view controller content") {
-                        expect(scrollViewController.contentView).to(beAKindOf(CreateShoppingView.self))
-                    }
-
-                    it("should set correct content view") {
-                        expect(createShoppingView).notTo(beNil())
-                    }
-
-                    context("when view did appear") {
+                    context("view did appear") {
                         beforeEach {
                             sut.viewDidAppear(false)
                         }

                    }

                    context("start editing") {
                        var observer: MethodCallObserver!
                        var selector: Selector!

                        beforeEach {
                            observer = MethodCallObserver()
                            selector = #selector(UITextView.becomeFirstResponder)
                            observer.observe(createShoppingView.textView, selector)
                            inputs.simulateStartEditing()
                        }

                        it("should make text view first responder") {
                            expect(observer.observedCalls.last?.selector).to(equal(selector))
                        }
                    }

                    context("when input shopping name changes") {
                        beforeEach {
                            inputs.shoppingNameVar.value = "New Shopping"
                        }

                        it("should update text view") {
                            expect(createShoppingView.textView.text).to(equal(inputs.shoppingNameVar.value))
                        }

                        context("select shopping name text") {
                            beforeEach {
                                inputs.simulateSelectShoppingNameText()
                            }

                            it("should select text") {
                                let expectation = NSRange(location: 0, length: inputs.shoppingNameVar.value!.count)
                                expect(createShoppingView.textView.selectedRange).to(equal(expectation))
                            }
                        }
                    }
                }

                    )
                }

                context("present on screen") {
                    var createShoppingView: CreateShoppingView!

                    beforeEach {
                        GREYTestHelper.enableFastAnimation()
                        UIApplication.shared.keyWindow?.rootViewController = sut
                        createShoppingView = scrollViewController.contentView as? CreateShoppingView
                    }

                    afterEach {
                        UIApplication.shared.keyWindow?.rootViewController = nil
                        GREYTestHelper.disableFastAnimation()
                    }

                    it("should have correct title") {
                        expect(sut.navigationItem.title).to(equal(inputs.title))
                    }

                    it("should embed scroll view controller") {
                        expect(sut.childViewControllers).to(contain(scrollViewController))
                    }

                    it("should enable bouncing in scroll view controller") {
                        expect(scrollViewController.scrollView.alwaysBounceVertical).to(beTrue())
                    }

                    it("should set correct view for scroll view controller content") {
                        expect(scrollViewController.contentView).to(beAKindOf(CreateShoppingView.self))
                    }

                    describe("right bar button item in navigation item") {
