spec/motion/mail/mail_spec.rb in bubble-wrap-1.7.1 vs spec/motion/mail/mail_spec.rb in bubble-wrap-1.8.0
- old
+ new
@@ -1,9 +1,9 @@
# Mocking the presentViewController
class MailViewController < UIViewController
attr_accessor :expectation
-
+
def presentViewController(modal, animated: animated, completion: completion)
expectation.call modal, animated
end
end
@@ -11,27 +11,27 @@
# So we can access the values that are set.
# This of course breaks MFMailComposeViewController from actually working,
# but it's testable.
class MFMailComposeViewController
attr_accessor :toRecipients, :ccRecipients, :bccRecipients, :subject, :message, :html
-
+
def setToRecipients(r)
self.toRecipients = r
end
-
+
def setCcRecipients(r)
self.ccRecipients = r
end
-
+
def setBccRecipients(r)
self.bccRecipients = r
end
-
+
def setSubject(r)
self.subject = r
end
-
+
def setMessageBody(message, isHTML: html)
self.message = message
self.html = html
end
end
@@ -49,76 +49,80 @@
subject: "My Subject",
message: "This is my message. It isn't very long.",
animated: false
}
end
-
+
+ it "should determine if the device can send mail or not" do
+ [true, false].include? BW::Mail.can_send_mail?.should == true
+ end
+
it "should open the mail controller in a modal" do
@view_controller.expectation = lambda { |mail_controller, animated|
mail_controller.should.be.kind_of(MFMailComposeViewController)
}
-
+
BubbleWrap::Mail.compose @standard_mail_options
end
-
+
it "should create a mail controller with the right to: address set" do
@view_controller.expectation = lambda { |mail_controller, animated|
mail_controller.toRecipients.should.be.kind_of(Array)
mail_controller.toRecipients.should == @standard_mail_options[:to]
}
-
+
BubbleWrap::Mail.compose @standard_mail_options
end
it "should create a mail controller with the right cc: address set" do
@view_controller.expectation = lambda { |mail_controller, animated|
mail_controller.ccRecipients.should.be.kind_of(Array)
mail_controller.ccRecipients.should == @standard_mail_options[:cc]
}
-
+
BubbleWrap::Mail.compose @standard_mail_options
end
it "should create a mail controller with the right bcc: address set" do
@view_controller.expectation = lambda { |mail_controller, animated|
mail_controller.bccRecipients.should.be.kind_of(Array)
mail_controller.bccRecipients.should == @standard_mail_options[:bcc]
}
-
+
BubbleWrap::Mail.compose @standard_mail_options
end
it "should create a mail controller with the right subject: set" do
@view_controller.expectation = lambda { |mail_controller, animated|
mail_controller.subject.should.be.kind_of(String)
mail_controller.subject.should == @standard_mail_options[:subject]
}
-
+
BubbleWrap::Mail.compose @standard_mail_options
end
it "should create a mail controller with the right message: set" do
@view_controller.expectation = lambda { |mail_controller, animated|
mail_controller.message.should.be.kind_of(String)
mail_controller.message.should == @standard_mail_options[:message]
}
-
+
BubbleWrap::Mail.compose @standard_mail_options
end
it "should create a mail controller with the right html: set" do
@view_controller.expectation = lambda { |mail_controller, animated|
mail_controller.html.should == @standard_mail_options[:html]
}
-
+
BubbleWrap::Mail.compose @standard_mail_options
end
it "should create a mail controller with the right animation" do
@view_controller.expectation = lambda { |mail_controller, animated|
animated.should.be.false
}
-
+
BubbleWrap::Mail.compose @standard_mail_options
end
end
end